Hop til indhold

IHC - Z-Wave (Vera3) Integration


hhg
 Share

Recommended Posts

Integrationen består af 2 komponenter:ihcclient.py - Et python program, der kommunikere med IHC Controlleren via SOAP webservices.For inspiration og viden om IHC Controllerens Web services skylder jeg en stor tak til u2pia og andre her fra IHC-UserDette program starter så en socket server op, der forstår "simple kommandoer", der sendes videre som SOAP request til IHC Controlleren. Samtidig køres waitForResourceValueChanges og ændringer sendes ud til klientenJeg har med success kørt denne del dels under Ubuntu, dels på en Synology DiskStation2. halvdel af integrationen er en plugin på VERA, der opretter en socket forbindelse til del 1.Denne del er kraftigt inspireret af RFXCOM pluginen: http://code.mios.com/trac/mios_rfxcom/wikiPt. understøttes følgende IHC enheder, og kun output:Output relæerWireless Kombi relæer (kun output delen)Wireless Universal relæerWireless Dimmere - Ikke fuldt understøttet Testet på MicasaVerde Vera3Overordnet set er det "work in progress": Det virker, for det meste. Koden trænger til afpudsning, og mere fejlhåndtering. Kommentarer og forbedringer er meget velkomne. Jeg bruger det primært til ud fra trådløse sensorer at tænde og slukke lys etc. Mine sensorer er Marmitek MS13E motion sensorer, Oregon temp og fugt sensorere. Disse kører via RFXCOM til Vera'en. Samt naturligvis Z-Wave sensorer.

IHC_VERA_0.1.zip

Link til kommentar
Del på andre sites

Rigtig spændende!! :woohoo: Nu kender jeg intet til Micasa...Men kan se i sourcefilerne, at det er noget upnp...Er din socketServer en upnp server? Eller er det kun Micasa der bruger upnp?Har også et forslag til "Roadmap" for ihcclient.py:Support for hvilket som helst brugerdefineret ihc resource. - Evt defineret i en define fil - helt uden brug af en .vis fil.Dokumentation for hvordan socketServer request skal se ud, så man kan bruger den fra andre klienter edn Micasa :)

Link til kommentar
Del på andre sites

Det er kun Vera'en der bruger upnpSocketServeren kører rent tekst mod Vera'en. Man kan telnette til den og fyrer kommandoer af... Men pt supporteres ikke mere end en connection ad gangen.Hvad mener du med brugerdefineret IHC resource? Den henter projektfilen fra IHC kontrolleren. Hvilke IHC resourcer har du, som ikke er defineret i projektet?

Link til kommentar
Del på andre sites

...Hvad mener du med brugerdefineret IHC resource? Den henter projektfilen fra IHC kontrolleren. Hvilke IHC resourcer har du' date=' som ikke er defineret i projektet?[/quote']Det er fordi du har lavet en simpel parser, som kun tager 3 produkter ind.Vil tro de fleste af os, der går og roder med 3'rd party tools, vil ønske at hente/skrive til resources i FB'er.Det kunne fx være varme setpunkt/aktuel.Div tal fra vand/el forbrug.Div status og kommandoer, osv osv.Alt sammen fra egenudviklede FB'er.Så jeg tænkte, at det nok var en stor opgave at lave et UI, som præsenterer og udvælger disse resources, og så vare det nok nemmere at brugeren selv fandt resourceID og konfigurerede din socketServer med disse...
Link til kommentar
Del på andre sites

Nu forstår jeg...Ja, det er en simpel parser, primært for at jeg kunne få oprettet mine devices på Vera'enMen det er jo "work in progress" uden meget validering... setvalue sætter jo "blot" en resource til True/False, og vil jo acceptere en vilkårlig reosurceid. Formatet er "setvalue \n" hvor value er 0 eller 1Men der er nogle forskelle på SOAP beskederne afhængig af IHC resourcetype.... Hvordan ville den se ud for at sætte en værdi i en funktionsblok?Pudsigt nok sidder jeg pt og fundere over hvordan jeg kan få "feriemode" som Vera'en henter fra en iCal kalender ind i IHC'en....Og kunne man sende den aktuelle temperatur fra mine Oregon sensorer direkte ind i IHC'en ville jo også være meget interessant

Link til kommentar
Del på andre sites

Men i beskeden er der jo et typeString felt, som pt. sættes til 'dataline_output' eller 'airlink_dimming'Hvad ville du bruge her for en funktionsblok?Integer eller Bool er håndteret af hhv setvalue og setdimmerWebSceneView giver jo faktisk mulighed for at sætte input direkte på en funktionsblok, så ja, det må være muligt

Link til kommentar
Del på andre sites

Men du kan sagtens kalde setvalue med en FB's outputresource - Det virker fint med On/Off outputs.Men er det ikke mere interessant at sætte inputs? Men i såfald skal typeString jo nok bare være dataline_inputJeg kan godt se behovet for en mere generelt setvalue funktion, og måske også en metode til at sætte en puls af en vis længde

Link til kommentar
Del på andre sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gæst
Svar på dette emne...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loader...
 Share

×
×
  • Tilføj...

Important Information

Privatlivspolitik og We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

1200x630bb.png

ok