@UncleSam Das würde total viel Sinn machen, aber ich habe keine echte Ahnung, was von hier aus noch alles nötig ist, um das ganze in einen Adapter zu gießen und zusätzlich ist mein Urlaub bald vorbei uns ich hab dann auch mal erst keine Zeit dafür. Wie Eingangs gesagt: sollte sich jemand berufen fühlen das hier weiter zu entwicklen, unterstütze ich gerne
NEWS
Latest posts made by falkoz
-
RE: HowTo: MediolaGW über iobroker ansteuern
-
HowTo: MediolaGW über iobroker ansteuern
Hallo zusammen,
vorab: das hier ist keine Frage, sondern eine kleine HowTo mit Scripts.
Ich habe jetzt mehrere Wochen daran gearbeitet das Mediola-GW aus iobroker anzusteuern. Ich verfasse den folgenden Beitrag in der Hoffnung, dass ich damit jemand anderem den Tag erleichtern kann und vielleicht finden sich ja auch Interessenten, die das hier zu einem vollen Adapter weiterentwickeln.Das Problem
Ich benötigte für mein Heim ein paar intelligente Jalousien, kann hier aber nur mit Aufputz-Motoren arbeiten, wodurch die Auswahl sehr eng wurde und ich quasi gezwungen war WIR Elektonik Jalousien (eW940-f-m) zu verwenden, die nur über das Mediola-GW properitär angesprochen werden können. Die häufigste Lösung – nämlich den iobroker aus IQontrol anzusteuern, kam für mich nicht in Frage, weil meine Oberfläche in VIS zu weit fortgeschritten war, als dass ich die noch mal neu bauen wollte. Weiterhin finde ich die UI von Mediola einfach abgrundtief hässlich und schlussendlich habe ich einfach keine Lust meine ganze Heimautomatisierung von einer schlecht gesicherten Blackbox mit Abokosten abhängig zu machen. Kurz: das Mediola-GW soll als „blöde Bridge“ am iobroker hängen.Die Umsetzung in der Übersicht:
Ich habe unterhalb von Userdata ein neues Device mediolagw angelegt, in dem die Basisdaten gespeichert werden. Darunter muss jedes Gerät als ein Channel mit entsprechenden Datenpunkten angelegt werden. Pro Channel muss dann ein Parser angelegt werden und abschließend ein Javascript, an dem allerdings keine Anpassungen mehr notwendig sind, wenn ihr euch exakt an die Anleitung haltet. Das ganze Konstrukt steuert Jalousien über das MediolaGW (in der Theorie sollte das auch mit anderen Herstellern als WIR gehen – untested) und erkennt auch manuelle Änderungen an den Jalousien und schreibt sie in den iobroker zurück, falls ihr mal direkt an der Jalousie gesteuert habt oder die eingebauten Automatiken benutzt.Anleitung:
0_userdata.0.MediolaGW-template.json
Importiert die angehangene mediolagw-template.json in eure Objekte. Unterhalb von 0_userdata.0 sollte sich dann eine neues Device „mediolagw“ finden. Dort drin müsst ihr die Standard-Einstellungen für die IP-Adresse, Username und Passwort des Gateways vornehmen. Weiter findet ich schon beispielhaft 2 Channels. „JalousieTuer“ und „JalousieFenster“ mit den entsprechenden unter Datenpunkten. Dort müsst ihr die Adresse und den Type eurer Aktoren angeben. Die findet ihr heraus, in dem ihr folgend URL im Browser aufruft:http://(IP des GW)/command?XC_USER=(user)&XC_PASS=(passwort)&XC_FNC=GetStates
Ihr erhaltet eine Json zurück, in der jeder Aktor mit Typ (z.B. „WR“) und Adresse (z.B. „1E501601“) steht. Übernehmt diese in die Datenpunkte „Type“ und „Address“ unterhalb der Aktoren.
Einrichtung Parser:
Ihr müsst pro Aktor eine Regel im Parser hinzufügen. Der Name der Regel muss dem Namensschema „mediolagw.(Aktorname).State“ folgen. Für die beiden Beispiele also „mediolagw.JalousieTuer.State“ und „mediolagw.JalousieFenster.State“. In die URL tragt ihr die URL ein, über die ihr gerade die Objekte ermittelt habt. Die Regex lautet „"state":"01([0-9a-fA-F]{2})00"“ bei Num noch die Reihenfolge der Aktoren von 0 beginnend hochzählen.Einrichtung JavaScript:
MediolaGW.js
Ein neues Javaskript im iobroker anlegen und den Inhalt aus MediolaGW.js reinkopieren. Wenn ihr euch – vor allem im Parser – exakt an die Namensgebung gehalten habt, sollte das alles gewesen sein.
Ihr könnt die Jalousien jetzt im VIS mit einem beliebigen Jalousie-Widget steuern, in dem ihr den Datenpunkt mediolagw/(Name des Aktors)/Set ansteuert mit Prozentzahlen von 0 (offen) bis 100 (komplett geschlossen).Ich freue mich über Fragen und Feedback
-
RE: Adapter aus CURLs zusammenbauen?
@paul53 said in Adapter aus CURLs zusammenbauen?:
Ich habe gerade festgestellt, dass es für 1 € ein ioBroker Plugin für Mediola gibt,
Ja, das hab ich auch gesehen, das ist allerdings ein Neo Creator Plugin, für das man mal erst die Neo Creator Lizenz braucht und die kostet 199€. Da bastel ich lieber noch ein bisschen bevor ich 200€ für einen „Curl-Wrapper“ bezahle. Außerdem glaube ich das Plugin so verstanden zu haben, dass es aus dem iobroker liest und nicht Requests aus ihm annimmt, sprich ich die komplette UI zu Mediola verschieben müsste.
-
RE: SQL-Fehler nach update
Das primäre Problem scheint zu sein, dass deine Datenbank mehr als 100 Requests gleichzeitig bekommt. Man könnte da mal erst die Anzahl der gleichzeitigen Requests erhöhen (dein 2. Screenshot, das Feld ganz unten). Macht aber wahrscheinlich mal erst wenig Sinn, denn: problematisch scheinen die Adapter "Lueftung.LTemperaturX" zu sein, die mit voller Geschwindigkeit auf die Datenbank einprügeln. Besonders LTemperatur2. Ist da eine Abfrage Latenz von 0 gesetzt? Der scheint komplett ohne Timeout zu posten, so dass er innerhalb einer hunderstel Sekunde mehrfach den selben Wert an die Datenbank schickt.
-
Adapter aus CURLs zusammenbauen?
Hallo zusammen,
ich bin ziemlich neu in iobroker und habe noch ein paar Verständnis-Probleme, wie sich was am besten umsetzen lässt.
Ich hab in meine Installation schon eine Menge Zeug hinzugefügt, wie Hue, Netatmo, usw.: alles kein Problem.
Jetzt habe ich aber ziemlich properitäre Rollladen-Wickler mit Funksteuerung von WIR Elektronik. Nach einiger Recherche habe ich mir das Mediola Mini Gateway zugelegt, mit denen man die Dinger steuern kann. Trotzdem soll sich das ganze hübsch in meinen iobroker einfügen.Ich hab jetzt schon raus, wie ich über CURL Get-Requests den prozentualen Öffnungszustand meiner Rollos abfragen kann und habe den über den Parser auch schon in den iobroker eingebunden. Ich kann auch über CURL Gets die Dinger rauf und runter fahren lassen. Aber gibt es irgendeine vorgesehene Möglichkeit im iobroker, dass ich die Werte bzw Requests so zusammenführe, dass da hinterher ein kompletter Adapter bei rauskommt?
Bzw - um mein Ziel zu erklären - ich würde gerne im VIS diesen Schieberegler verwenden, um die Rollos Prozentual zu schließen, wodurch ein vielfaches von 0,015625 (Skala 0-64) gerundet in die URL eingesetzt werden muss. Schiebe ich den Regler also auf 20, muss da hinterher (in Pseudocode) passieren:
VarX=20
VarY=round($VarX/1,5625) (==13)
exec (curl http://192.168.../command?....&data=xxxxx$VarY);Und das endgültige Ziel wäre dann auch noch die Möglichkeit "Alexa, Schlafzimmer Rollo auf 50%" ... aber mit der Umsetzung hab ich mich noch gar nicht beschäftigt.
Danke im vorraus für jeden hilfreichen Tipp.