NEWS
IoBroker mit Warema WMS Web Control
-
und es läuft
vielen Dank Pman 
ich werd mal die wochen noch ein wenig damit rumspielen und dann mal meine Erfahrung berichten

wäre es möglich, dann diesen Befehl für alle Rollos mit in das Script bzw in die abgelegten Objekte mit einzufügen?
-
Hallo,
ich möchte gerne das WMS in meinen neuen Haus integrieren und mit dem IO-Broker nutzen.
Für die Raffstores möchte ich die WMS Unterputzaktoren Aktoren mit dem WMS Webkontroll einsetzen. Diese werden in der nächsten Woche bestellen.
Grundsätzlich wurde hier im Forum gezeigt, dass es funktionieren kann mit dem IO-Broker und einer Sprachsteuerung das System zu steuern.
Eine Inbetriebnahme ist laut den Beschreibungen mit einer Fernsteuerung möglich.
Mit der Software WMS Studio pro sollte mittlerweile auch eine Inbetriebnahme möglich sein.
https://www.warema.de/Produkte/Steuerun … ftware.php
Ist der Handsender dann überhaupt notwendig? Bzw. braucht man einen bestimmten Handsender?
Zudem würde mich interessieren ob es möglich ist die Daten der Wetterstation auch auszulesen und im IO-Broker zu nutzen?
Welchen Javascript Adapter habt Ihr im IO-Broker dafür genutzt? Ist dies Javascript to file?
Ich wäre sehr dankbar wenn jemand eine sehr genaue Anleitung erstellen könnte wie ich dies genau installieren muss.
Pman hat hier ja schon einmal angefangen. Besten Dank dafür!
Leider bin ich mit dem Umgang von Scripten unerfahren.
Besten Dank im voraus!
-
Hallo,
ich nutze auch WMS für Rollläden und habe dafür den WMS Stick und die WMS Zentrale. Ich habe bisher alles mit dem Warema Studio Pro eingestellt und habe auch meine Projekt-Datei.
Hat jemand rausgefunden wie man die benötigten Daten aus der Datei auslesen kann?
-
-
Hallo Beisammen, jetzt bräcuhte ich nochmal eure Hilfe, nach umzug vom pi auf den rock mag die Rollosteuerung nicht mehr. Hier mal Auszug aus dem LOG file: pfad/key etzc sollte alles passen. nur findet er keine objekte mehr... steh ein wenig auf dem Schlauch

hm-rpc.1 2019-02-17 10:51:20.220 info xmlrpc <- listDevices ["hm-rpc.1"] javascript.0 2019-02-17 10:51:15.363 debug script.js.Warema.warema_script(1): {"type":"ack"} javascript.0 2019-02-17 10:51:15.362 debug script.js.Warema.warema_script(1): received message: a javascript.0 2019-02-17 10:51:15.351 debug script.js.Warema.warema_script(1): sending {R04FFFFFF7020152902} javascript.0 2019-02-17 10:51:13.717 debug script.js.Warema.warema_script(1): {"type":"message","payload":{"src":"E5AD07","type":"parameterSetRequest","messagePayload":{"parameter":"0B080009","type":"clock","year":19,"month":2,"day":17,"hour" javascript.0 2019-02-17 10:51:13.714 debug script.js.Warema.warema_script(1): received message: rE5AD0780200B0800091302110A340E060001 javascript.0 2019-02-17 10:51:10.371 debug script.js.Warema.warema_script(1): received expected answer: a javascript.0 2019-02-17 10:51:10.351 debug script.js.Warema.warema_script(1): sending {R04FFFFFF7020152902} javascript.0 2019-02-17 10:51:05.487 info script.js.Warema.warema_script(1): Serial Ports: [{"comName":"/dev/ttyS2"},{"manufacturer":"FTDI","serialNumber":"AI04F042","pnpId":"usb-FTDI_FT232R_USB_UART_AI04F042-if00-port0","vendorId":"0403","p javascript.0 2019-02-17 10:51:05.349 debug script.js.Warema.warema_script(1): received expected answer: a javascript.0 2019-02-17 10:51:05.319 debug script.js.Warema.warema_script(1): sending {M%171529} javascript.0 2019-02-17 10:51:05.318 debug script.js.Warema.warema_script(1): received expected answer: a javascript.0 2019-02-17 10:51:05.317 debug script.js.Warema.warema_script(1): {"type":"ack"} javascript.0 2019-02-17 10:51:05.317 debug script.js.Warema.warema_script(1): received message: a javascript.0 2019-02-17 10:51:05.295 debug script.js.Warema.warema_script(1): sending {K401A86E62449D8FFE6BE301ED27377FE9F0} javascript.0 2019-02-17 10:51:05.292 info script.js.Warema.warema_script(1): Stick Version: v37605107 javascript.0 2019-02-17 10:51:05.291 debug script.js.Warema.warema_script(1): received expected answer: v javascript.0 2019-02-17 10:51:05.290 debug script.js.Warema.warema_script(1): {"type":"stickVersion","payload":{"version":"37605107"}} javascript.0 2019-02-17 10:51:05.289 debug script.js.Warema.warema_script(1): received message: v37605107 javascript.0 2019-02-17 10:51:05.276 debug script.js.Warema.warema_script(1): sending {V} javascript.0 2019-02-17 10:51:05.275 debug script.js.Warema.warema_script(1): received expected answer: gWMS USB-Stick javascript.0 2019-02-17 10:51:05.271 debug script.js.Warema.warema_script(1): {"type":"stickType","payload":{"name":"WMS USB-Stick"}} javascript.0 2019-02-17 10:51:05.269 debug script.js.Warema.warema_script(1): received message: gWMS USB-Stick javascript.0 2019-02-17 10:51:05.253 debug script.js.Warema.warema_script(1): sending {G} javascript.0 2019-02-17 10:51:05.251 info script.js.Warema.warema_script(1): port opened javascript.0 2019-02-17 10:51:05.235 info script.js.Warema.warema_script(1): registered 0 subscriptions and 0 schedules javascript.0 2019-02-17 10:51:05.194 info Start javascript script.js.Warema.warema_script(1) javascript.0 2019-02-17 10:50:59.498 warn script.js.Warema.warema_script(1): closing open serial ports -
Ändere mal in Zeile 384 "R04" in "R06". Kann sein, dass da ein Fehler im Skript ist. Es war glaube ich noch nicht ganz klar, was genau R04 macht.
- Is the binding's code in a central module/github available so that changes/bugfixes can be corrected and to monitor stable versions?
- Can the binding used only to read data or also to send data to the WMS station. for example simulationg a sensor?
-
Hallo, mein Smart Home wächst und gedeiht. Nun möchte ich noch die vorhandenen Raffstore der Marke Warema per Google Home Geräte steuern können. Daher bin ich auf diesen älteren Thread gestossen.
Verstehe ich das richtig, ich brauche:
Hardware:
Raspberry Pi 3 (hab schon eins)
Warema USB Stick (hab ich auch schon - WMS Web Control läuft bei mir gut)
Google Nest Mini (hab ich natürlich ebenfalls)Software:
ioBroker auf Raspbian --> Wahrscheinlich sowas wie das Image z.B. Raspbian Light Buster?Liege ich da richtig, dass es so gelingen kann den Warema Sonnenschutz per Voicecommand zu steuern?
Was sollte ich ggf. noch berücksichtigen? Kann mir jemand mal leichtverständlich die ersten Schritte nochmal aufzeigen, damit ich einen Einstieg finde. Ich würde mich ja schon durchfummeln, aber ich wäre Happy wenn ich zumindest wüsste ob ich da gedanklich auf dem richtigen Weg bin.
Grüße
TurboKanne -
Hallo,
habe die letzten Tag folgendes noch gefunden:
https://github.com/cornim/wms_webcontrol
Damit könnte man ohne den WMS Stick das ganze auch bedienen. Heist also direkt an das webcontrol die Befehle schicken und die States empfangen.
Leider weiß ich aber nicht wie ich ein python script nutze... aber ich bin dran

-
-
nein einen Adapter gibt es leider nicht... und wird es vermutlich auch nie geben....
habe gerade noch folgendes gefunden:
https://www.npmjs.com/package/warema-wms-venetian-blinds
vielleicht kommst du damit ja weiter

-
Ich habe auch mit dem WMS Stick experimentiert. Leider scheint die "Mesh" Funktionalität nicht für die Steuerbefehle (wie die des WMS Studio) zu gelten. Ist der Empfänger ausser Reichweite, so kommt der Fahrbefehl nicht an. Programmiere ich eine Fernbedienung und löse sie am selben Ort aus, wie vorher den WMS Stick, so funktioniert der Fahrbefehl. Kann ein Fahrbefehl einer Fernbedienung überhaupt untersucht werden? Falls ja: Hat schon jemand geprüft, ob sich diese vom "WMS Studio / Studio Pro" unterscheiden?
-
so, war leider unfähig python bei mir am rock64 zum laufen zu bekommen aber habe es am PC installiert und den die Befehle mir angesehen welche an das Webcontrol geschickt werden. Leider hab ich nur das Senden der Befehle geschafft, nicht die Werte wieder abzuholen. aber besser als nichts

Hab das ganze nun so gemacht, dass ich einfach per Javascript mit dem Exec Block an das Warema schicke und ein kleines Blockly das den Zähler etc erhöht, klappt soweit ganz gut
Vielleicht kanns ja jemand auch für sich nutzen
Den Zähler setze ich einfach nach erreichen eines bestimmten Wertes wieder auf Anfang, das klappt ganz gut 
Hier das was geschickt wird:
192.168.178.36/protocol.xml?protocol=9099082103020328ffffff&_=1586803111'
192.168.178.36/ IP adresse
protocol.xml?protocol= fest
90 initial
99 Zähler +4
0821 Fahrbefehl
0302 Raum/Rollo wie in App also Raum 03 und Rollo 02 (start bei 0), bei raum größer 9 wird mit zahlen weitergezählt
03 Festwert
28 Position mal 2 und in Hex umgewandelt
ffffff&_ Fahrbefehl
1586803111 Zähler +4und hier der Blockly auszug:

-
Kann schon mal passieren das ich zu technisch werde
Am Ende der Nachricht ist dies auch diesmal der Fall.Diesen "Code" auszulesen war mein erster Ansatz, da ich wie Pman die Hoffnung hatte das das von Warema eingesetzte Funkprotokoll nicht selbst implementiert ist und damit schon bekannt ist. Soweit ich das jetzt sagen kann ist es eine proprietäre Implementierung die auf aber zumindest auf IEEE 802.15.4 als unterste Schicht basiert.
Bei der Analyse bin ich aber darauf gestoßen das der Warema USB Stick die Ver- und Entschlüsselung bereits übernimmt und die Relevanten Teile der Funktelegramme per Serieller Schnittstelle bereitstellt.
Nachdem ich nun heute noch meinem WebControl vorgegaukelt habe das mein WMS Stick ein Raffstore ist habe ich zumindest die wichtigsten Teile des Seriellen Protokolls zusammen. Ich versuch es mal einigermaßen verständlich zu beschreiben. Damit sollte dann eine Implementierung für die jeweilige Smarthome Software möglich sein.
Benötigt wird dann neben der Software nur noch der Warema WMS Stick (USB Stick) für ca 55€.
<size size="150">Alles unten beschriebene ist nicht ausführlich getestet und nur durch Analysen ermittelt. Mit dem WMS Stick können die Geräte auch programmiert werden falsche Nachrichten können daher zu einer Beschädigung eurer Anlage führen. Verwendung daher auf eigene Risiko.</size>
Serielle Parameter:
Baudrate: 125000
Parity: None
Data bits: 8
Stop bits: 1
Nachrichten an und vom WMS Stick sind immer in geschweiften Klammern {} eingeschlossen, Linefeed/Return ist nicht nötig.
Die meisten Befehle die man an den USB Stick schickt werden mit "{a}" quittiert. Falls der Befehl nicht verstanden wird kommt ein "{f}" zurück.
WMS Stick Prüfen:
Ob man mit einem WMS Stick verbunden ist kann man mit folgender Sequenz: "{G}"
Der WMS Stick antwortet in diesem Fall nicht mit "{a}" sondern mit "{gWMS USB-Stick}"
Die Version des WMS Stick kann mit "{V}" abgefragt werden. in diesem Fall kommt ebenfalls kein "{a}" zurück sondern "{vVVVVVVVV }" wobei VVVVVVVV für die Versionsnummer steht.
Mit Netz verbinden:
Damit der WMS Stick mit euren Geräten im Netzwerk kommunizieren kann benötigt er den Netzwerkschlüssel den bekommt er mit folgendem Befehl:
"{K401KKKKKKKKKKKKKKKKKKKKKKKKKKKKKK}"
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKK steht hierbei für den AES Schlüssel des Netzwerks. Der WMS Stick quittiert diesen Befehl mit "{a}"
Dieser Schlüssel kann auf zwei Wegen ermittelt werden. Option 1 durch mitlauschen der Seriellen Kommunikation zwischen WMS Studio und WMS Stick. Hierfür benötigt ihr aber euer Projekt mit dem die Anlage parametriert wurde. Option 2 WMS Stick per WMS Handsender ins Netzwerk einlernen. Die hierfür nötigen Befehle an den WMS Stick habe ich zwar schon einmal mitgetracet allerdings nicht dokumentiert da ich durch Option 1 schon den Schlüssel hatte. Kann das bei Gelegenheit noch nachholen.
Danach muss noch der Funkkanal und die PANID mitgeteilt werden:
"{M%CCPPPP}" wobei CC für den Funkkanal (Default: 17) und PPPP für die PANID steht. Das Prozentzeichen könnte noch durch eine Raute (#) ersetzt werden dann empfängt man allerdings keine Broadcasts. Befehlt wird ebenfalls mit "{a}" quittiert.
Jetzt seit ihr bereits mit dem Netz verbunden und solltet Broadcast Messages eurer Wetterstation beziehungsweise Zeitsignale eures WebControls oder der WMS Zentrale empfangen.
Wetterstations Broadcast:
"{rAAAAAA708000WWL1FFFFFFL2FFRRTTFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}"
AAAAAA = SNR (Seriennummer) der Wetterstation in HEX.
7080 = Nachrichten Typ hier Wetter
WW = Wind, müsste in m/s sein.
L1 = Helligkeitswert 1
L2 = Helligkeitswert 2 (Wie aus Helligkeitswert 1 und Helligkeitswert 2 korrekt berechnet wird weiß ich noch nicht.)
RR = Niederschlag (00: Kein Regen C8: Regen)
TT = Temperatur * 10 muss also durch 10 geteilt werden. Wie Temperaturen über 25,4° und unter 0° dargestellt werden weiß ich noch nicht.
Datums/Zeit Broadcast:
"{rAAAAAA80200B080009YYNNDDHHMM0C060101}"
AAAAAA = SNR (Seriennummer) der WMS Zentrale/WebControl in HEX.
8020 = Nachrichten Typ hier Datum/Zeit
YY = Jahr 2 stellig in HEX
NN = Monat in HEX
DD = Tag in HEX
HH = Stunden in HEX
MM = Minuten in HEX
"{rAAAAAA80200B080009110A080C240C060101}" entspricht 08.10.2017 12:36
WMS Gerät winken lassen:
"{R06AAAAAA7050}" an WMS Stick schicken.
AAAAAA = SNR (Seriennummer) vom Gerät welches Winken soll in HEX.
7050 = Nachrichten Typ hier Winken
WMS Stick quittiert mit "{a}"
Status Zwischenstecker abfragen:
"{R06AAAAAA801001000005}" an WMS Stick schicken.
AAAAAA = SNR (Seriennummer) vom abzufragenden Zwischenstecker in HEX.
8010 = Nachrichten Typ hier Statusabfrage
WMS Stick quittiert mit "{a}"
Zwischenstecker schickt Status:
{rAAAAAA801101000003PPWWV1V200}
AAAAAA = SNR (Seriennummer) vom abgefragten Zwischenstecker in HEX.
8011 = Nachrichten Typ hier Statusantwort
PP = Position in % * 2 (HEX) muss daher durch 2 geteilt werden
WW = Winkel +127 in HEX. 127 entspricht daher 0°.
V1 = Position Volant 1. FF entspricht nicht vorhanden.
V2 = Position Volant 2. FF entspricht nicht vorhanden.
Kodierung von PP, WW, V1 und V2 entspricht der des WMS WebControl Protocols kann daher mit Hilfe des WebControl JavaScripts nachvollzogen werden.
Der WMS Handsender kann auch den Grund für den Letzten Fahrbefehl anzeigen (Wind, Niederschlag, Eis, …) ob und wie dies kodiert ist weiß ich noch nicht.
Zwischestecker auf Position fahren:
"{R06AAAAAA707003PPWWV1V2}"
AAAAAA = SNR (Seriennummer) vom abgefragten Zwischenstecker in HEX.
7070 = Nachrichten Typ hier Fahrbefehl
PP = Position in % * 2 (HEX) muss daher durch 2 geteilt werden
WW = Winkel +127 in HEX. 127 entspricht daher 0°.
V1 = Position Volant 1. FF entspricht nicht vorhanden.
V2 = Position Volant 2. FF entspricht nicht vorhanden.
PP, WW, V1, V2 wie unter "Status Zwischenstecker abfragen" beschrieben.
WMS Stick quittiert mit "{a}"
Zwischenstecker schickt Bestätigung:
{rAAAAAA70710010023F02C04DFFFF0C0DFFFF}
AAAAAA = SNR (Seriennummer) vom abgefragten Zwischenstecker in HEX.
7071 = Nachrichten Typ hier Bestätigung Fahrbefehl.
Genaue Zusammensetzung habe ich hier noch nicht analysiert. Am Ende scheinen zwei Position enthalten zu sein (2 x PPWWV1V2, C04DFFFF0C0DFFFF).
Nachdem der Handsender die Ursache anzeigen kann warum ein Fahrbefehl nicht ausgeführt wird wird dies auch noch enthalten sein.
@willjoha
Hallo, du schreibst: "Dieser Schlüssel kann auf zwei Wegen ermittelt werden. Option 1 durch mitlauschen der Seriellen Kommunikation zwischen WMS Studio und WMS Stick. Hierfür benötigt ihr aber euer Projekt mit dem die Anlage parametriert wurde."Wie kann man die serielle Kommunikation belauschen?
-
Hallo,
habe mal eine Adapter Anfrage gestellt, wenn noch jemand Interesse daran hat, bitte Daumen Hoch an der Anfrage

GitHub Link
-
Hallo,
habe mal eine Adapter Anfrage gestellt, wenn noch jemand Interesse daran hat, bitte Daumen Hoch an der Anfrage

GitHub Link
@rapptor33 Ich würde mich der Sache annehmen. Geplant ist das ich mir ein Warema Stick besorge und hoffe das die Reichweite passt. Das WMS Webcontrol sieht zwar einfacher aus für ein Adapter aber es lohnt sich für mich nicht den anzuschaffen oder jemand hat einen über.
-
Hallo beisammen,
ich bin neu hier und wollte mich erkundigen, ob es möglich ist, das Warema WMS Web Control mit dem iBroker zu verknüpfen, um dann damit per Alexa Sprachsteuerung die Rollos hoch und runter fahren zu können.
Hier mal der Link zu Warema: (das soll mal verbaut werden, also Funkaktoren an jedem Rolloschalter +Gateway für webcontrol)
https://www.warema.de/Produkte/Steuerun … ontrol.php
Da wir gerade beim Hausbau sind und die Alexa bereits in der Wohnung eingezogen ist, möchte ich diese natürlich auch für die zukünftigen elektrischen Rollos verwenden. Hier kommt eben das Warema WMS Web Control ins Spiel, das ganze verbaut der Schwiegervater, somit habe nicht viel Mitspracherecht was verbaut wird, da er das gleiche System zu Hause hat (nur eben nur per App Bedienung).... Leider habe ich im Forum, sowie im WWW nichts gefunden, was mich weitergebracht hätte. Das einzige was ich derzeit gefunden habe, ist die Verknüpfung mit dem Mediola AIO GATEWAY, wovon ich aufgrund der Gebühren jetzt so nicht begeistert bin.
Leider bin ich mit dem Thema Ibroker noch nicht wirklich vertraut, also bitte verzeiht mir eventuelle dumme Fragen

Danke schon mal!
@radiorichter Ich habe mal für die wms webcontrol pro gebaut.
Gerne mal testen ob es für andere Nutzer auch geht
https://forum.iobroker.net/topic/45197/test-warema-wms-webcontroller-v0-0-1 -
@rapptor33 Ich würde mich der Sache annehmen. Geplant ist das ich mir ein Warema Stick besorge und hoffe das die Reichweite passt. Das WMS Webcontrol sieht zwar einfacher aus für ein Adapter aber es lohnt sich für mich nicht den anzuschaffen oder jemand hat einen über.
@tombox Hallo, sorry die späte Meldung. Ja werde das gerne testen, super das du dich darum bemühst

Ich habe leider noch den alten webcontrol, der wird ja ohne email account betrieben.Wäre es möglich den Adapter auch für die ältere Webcontrol version zu adaptieren?
Könnte auch ein Webcontrol zur Verfügung stellen! -
@tombox Hallo, sorry die späte Meldung. Ja werde das gerne testen, super das du dich darum bemühst

Ich habe leider noch den alten webcontrol, der wird ja ohne email account betrieben.Wäre es möglich den Adapter auch für die ältere Webcontrol version zu adaptieren?
Könnte auch ein Webcontrol zur Verfügung stellen!@rapptor33 Schwierig ich habe mal gesehen wie die app lokal kommnuiziert und das sind alles verschlüsselte hex nachrichten.
-
@rapptor33 Schwierig ich habe mal gesehen wie die app lokal kommnuiziert und das sind alles verschlüsselte hex nachrichten.
@tombox Hi, da ich auch die ältere Version der/des WMS Webcontrol habe würde ich mich natürlich auch seeeehr über einen adaptierten Adapter freuen!

Oder anders gefragt, da die ganz oben beschriebene Methode ja schon eine Weile her ist, funktioniert die Vorgehensweise mit dem Stick noch?
Wäre ja eine Alternative da ich den Stick hier sowieso rum liegen habe...
-
@tombox Hi, da ich auch die ältere Version der/des WMS Webcontrol habe würde ich mich natürlich auch seeeehr über einen adaptierten Adapter freuen!

Oder anders gefragt, da die ganz oben beschriebene Methode ja schon eine Weile her ist, funktioniert die Vorgehensweise mit dem Stick noch?
Wäre ja eine Alternative da ich den Stick hier sowieso rum liegen habe...
Hallo zusammen,
ich habe eine Warema Markise mit Volant und Wetterstation.
Diese wird aktuell mit der schwarzen Fernbedienung WMS Handsender bedient.Wie ist da aktuell der Stand? Man liest einerseits immer wieder von Web Control, aber auch dem WMS Stick; andererseits nur davon, Werte zu senden, aber nicht abzurufen.
Der WMS Stick muss anscheinend auch in das System eingelernt werden.Daher die Frage: Ist es möglich,
- den WMS Stick mit der FB anzulernen, oder brauche ich Warema dazu?
- Diesen dann am Raspi mit iobroker zum laufen zu bringen?
- Die Werte der Wetterstation auszulesen? Hier handelt es sich um Regen, Sonnenstärke, Temperatur und Wind - wäre schon echt praktisch, wenn das ginge und
- Darüber dann die Markise UND den Volant zu steuern?
Danke!
Viele Grüße