hhg Skrevet May 23, 2012 Rapporter Share Skrevet May 23, 2012 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 Citér Link til kommentar Del på andre sites More sharing options...
ihcbob Besvaret May 24, 2012 Rapporter Share Besvaret May 24, 2012 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 Citér Link til kommentar Del på andre sites More sharing options...
hhg Besvaret May 26, 2012 Forfatter Rapporter Share Besvaret May 26, 2012 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? Citér Link til kommentar Del på andre sites More sharing options...
ihcbob Besvaret May 27, 2012 Rapporter Share Besvaret May 27, 2012 ...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... Citér Link til kommentar Del på andre sites More sharing options...
hhg Besvaret May 27, 2012 Forfatter Rapporter Share Besvaret May 27, 2012 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 Citér Link til kommentar Del på andre sites More sharing options...
ihcbob Besvaret May 27, 2012 Rapporter Share Besvaret May 27, 2012 Mig bekendt er der ingen forskel på om ens resourceID er en output på et produkt eller på en FB.Forskellen ligger i variabeltypen.Dvs om det er en integer eller en bool. Citér Link til kommentar Del på andre sites More sharing options...
hhg Besvaret May 27, 2012 Forfatter Rapporter Share Besvaret May 27, 2012 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 Citér Link til kommentar Del på andre sites More sharing options...
ihcbob Besvaret May 27, 2012 Rapporter Share Besvaret May 27, 2012 Jeg bruger dataline_output som typeString for både produkter og FB'er. Så dér er ingen forskel... Citér Link til kommentar Del på andre sites More sharing options...
hhg Besvaret May 27, 2012 Forfatter Rapporter Share Besvaret May 27, 2012 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 Citér Link til kommentar Del på andre sites More sharing options...
ihcbob Besvaret May 27, 2012 Rapporter Share Besvaret May 27, 2012 Det med at sætte en puls virker ikke ikke stabilt. Der kan komme alle mulige "knuder på tråden" med det soap skrammel...Hvis man skal bruge en puls i ihc controlleren skal man istedet bruge "8.1.02. Sikker touch". Eller kode sin egen FB. Citér Link til kommentar Del på andre sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.