Hallo Zusammen,
aktuell habe ich für meine Jalousien DigitalStrom (incl. DigitalStrom Server) im Einsatz.
Seit kurzem habe ich ein FHEM auf einem Windows Server am laufen. Im nächsten Schritt würde ich gerne FHEM als "führendes" System einrichten und damit Aktionen im DigitalStrom-System steuern/auslösen.
Hat jemand bei der Kopplung FHEM und DigitalStrom Erfahrung?
Viele Grüße
Robert
ich fürchte da gibt es noch nichts das du verwenden könntest. im forum gibt es glaube ich höchstens eine hand voll beiträge in denen digitalstom überhaupt vor kommt.
als ich mich damals umgeschaut habe war das system noch nicht zu kaufen. danach waren die preise ziemlich abschreckend und scheinbar kann man die komponenten immer noch nicht 'einfach' kaufen. sondern es gibt nur 'zertifizierte' elektriker die es dir einbauen.
scheinbar bist du der erste hier der tatsächlich digitalstrom komponenten im einsatz hat.
vielleicht kannst du mal von deinen erfahrungen berichten.
wie viele der digitalstom meter braucht man zum beispiel tatsächlich? einen hinter jedem fi? einen pro fi und phase? einen pro raum?
mit dem json api des digitalstrom servers müsste es eigentlich recht einfach fhem module zu entwickeln. mit allen nachteilen die ein nur pollender zugriff mit sich bringt.
weisst du ob es auch eine schnittstelle gibt die aktiv daten bei änderungen versendet?
gruss
andre
Hier mal ein bisschen was zu meinen Digitalstrom Erfahrungen.
Wir haben am Haus vor einiger Zeit Jalousien nachgerüstet. Die vom Hersteller angebotene Funksteuerung hat mir irgendwie nicht so wirklich gefallen (aus heutiger Sicht vielleicht ein Fehler), dann bin ich über Digitalstrom gestolpert und fand das eine interessante Geschichte.
Eingekauft hab ich die über einen Freund, der ist Elektriker und nebenbei Selbständig. Der konnte die ohne irgendwas beim Großhändler (mit ein bisschen Rabatt) kaufen und hat die auch eingebaut.
Es ist kein Märchen, dass man für jeden abgesicherten Stromkreis ein Digitalstrom Meter benötigt. Daraus ergibt sich schon eine Schwierigkeit, das Zeug braucht im Sicherungskasten eine Menge Platz. Hab auch nicht für jeden Stromkreis einen Digitalstrom Meter sondern nur für die, in denen Komponenten sind.
Zusätzlich braucht dann noch der Digitalstrom Server Platz und ein Netzteil für den Server muss auch noch rein.
Dann braucht es noch Digitalstrom Filter (3 Stück, je einer pro Phase), die das Netz nach außen abschirmen.
Dann kommen noch die Bausteine für die eigentliche Steuerung dazu. Die sind zwar auf den ersten Blick recht kompakt aber am Ende wird es dann in mancher Unterputzdose trotzdem ganz schön eng.
Die Funktion passt, also die Dinge machen was sie sollen.
Was ich ein bisschen schade finde, dass das System nicht so viel kann wie es auf den ersten Blick scheint bzw. dass es sich nicht in dem Maße weiterentwickelt als ursprünglich geplant und gedacht. Wie es aussieht hat sich das System noch nicht verbreitet (was sicher auch mit den Kosten zu tun hat) und deshalb gibt es auch nur eine kleine Community, was die Entwicklung sicher aus beeinträchtigt.
Den Support muss ich allerdings sehr loben. Mails werden sehr schnell und fachkundig beantwortet. Hatte ein z.B. Problem mit einer schaltbaren Steckdose, waren alle Multimediageräte an dem Mehrfachstecker, hat die Schaltung nicht funktioniert. Der Support hat mir sofort einen Filter als Zwischenstecker zum testen geschickt. Das Problem war damit behoben und auf Nachfrage bezüglich eines Kauf des Leih-Filters habe ich diesen geschenkt gekommen.
Ich muss mich mit dem Digitalstrom Server noch mehr auseinander setzten und mal bei der DS-Community anfragen - aber die liebe Zeit ist immer so ein Faktor ;)
Gruß
Robert
danke für die info.
vor allem platz in der unterverteilung wäre hier das absolute k.o. kriterium. ich glaube das würde für sehr viele nachträgliche installationen gelten.
gruss
andre
Hi, gibt es zu digitalstrom und fhem etwas Neues? Das system an sich sieht recht interessant aus.
Hat der ein oder andere Erfahrungen mit digitalstrom mit oder auch ohne fhem!?
Gesendet von iPhone mit Tapatalk
Hi Tommy82,
wie schon beschrieben habe ich DigitalStrom schon einige Zeit im Einsatz und mittlerweile nutze ich auch FHEM. FHEM ist bei mir allerdings momentan noch eher Datensammler als eine Haussteuerung. Den Weg zur Haussteuerung werde ich Schritt für Schritt gehen. Dazu gehört auch die Anbindung der DigitalStrom Devices an FEHM. Damit habe ich schon begonnen und kann auch schon über eine URL im Browser die DigitalStrom Devices ansteuern aber leider funktioniert das ohne einen Browser noch nicht. Das muss ich mal mit Zeit und Geduld aussortierten.
Gruß
Robert
Ich habe seit 2013 digitalSTROM bei mir im Einsatz (Leuchten, Tore, Jalousie, ...) und ungefähr so lange auch FHEM (für die Heizungssteuerung mittels FS20).
@Robert:
Um digitalSTROM aus FHEM heraus anzutriggern habe ich ein kleines HowTo geschrieben. Ich habe für meinen Zwecke HTTPMOD benutzt. Details hier: http://www.fhemwiki.de/wiki/DigitalSTROM_einbinden (http://www.fhemwiki.de/wiki/DigitalSTROM_einbinden)
Ich wäre interessiert, zu hören, wer noch alles die Kombination aus FHEM und digitalSTROM im Einsatz hat.
Grüsse, Andreas
Hey Andreas,
danke für die Beschreibung hat auch sofort funktioniert.
Jetzt muss ich mich noch dran machen und die ganze Logik aufbauen, dann kann ich die Jalousien auch über FHEM steuern.
Grüsse Robert
Hey Andreas,
ich benutze seit ein paar Tagen auch die kombination aus FHEM und Digitalstrom. Leider funktioniert deine Wiki Doku bei mir nicht richtig )-: Vielleicht findest du ja mal kurz Zeit drüber zu schauen:
Ich scheine keine Verbindung zum DSS Server zu bekommen. ( Token ist aber im Dss freigegeben )
Danke im Voraus
Lg Wutti
Hallo Wutti,
schau Dir mal folgenden Chat an : https://forum.fhem.de/index.php/topic,48982.msg406358.html#msg406358 (https://forum.fhem.de/index.php/topic,48982.msg406358.html#msg406358)
Ich hatte das gleiche Problem und nun läuft es....
Gruß
Stephan
Hallo
Habe gesehen das es die Adapter auch bei Conrad etc. zu kaufen gibt.
Die gehen nur mit dem Server vom Hersteller?
Finde ich schade, Powerline Aktoren würden das Funknetz entlasten.
Und wenn mann keine Kabel nachziehen kann wäre das eine gute Lösung.
Hallo
Der letzte Eintrag ist zwar schon etwas länger zurück, ich hoffe trotzdem dass mir vielleicht jemand weiterhelfen kann. Das sehr gut dokumentierte Beispiel im wiki.fhem.de habe ich in FHEM projektiert und es funktioniert auch korrekt. Nun versuche ich weitere Datenpunkte aus dem dS in FHEM zu integrieren z.B. eine Temperaturmessung.
In FHEM projektierte ich die folgenden Zeilen:
define dSM_Temperatur_WZ HTTPMOD https://hierstehtdieipdesdSS:8080/json/device/getSensorValue?dsuid=hierstehtdiedSUIDdesdSM
&sensorIndex=0&token=$sid 60
attr dSM_Temperatur_WZ userattr reAuthRegex reading1Name reading1Regex sid1IDRegex sidHeader1 sidURL stateFormat verbose
attr dSM_Temperatur_WZ reAuthRegex .*not logged in.*
attr dSM_Temperatur_WZ sid1IDRegex {"result":{"token":"([\d(abcdef)]+)"
attr dSM_Temperatur_WZ sidHeader1 Content-Type: application/json
attr dSM_Temperatur_WZ sidURL https://hierstehtdieipdesdSS:8080/json/system/loginApplication?loginToken=hierstehtdasapplicationtoken
attr dSM_Temperatur_WZ stateFormat {sprintf("dSID: %s - °C: %d", "hierstehtdiedSUIDdesdSM", ReadingsVal($name,"Temperatur",0))}
attr dSM_Temperatur_WZ verbose 1
attr dSM_Temperatur_WZ group dSM
attr dSM_Temperatur_WZ room digitalSTROM
attr dSM_Temperatur_WZ reading1Name Temperatur
attr dSM_Temperatur_WZ reading1Regex {"result":{"Temperatur":([\d]+)
define FileLog_dSM_Temperatur_WZ FileLog ./log/dSM- hierstehtdiedSUIDdesdSM -%Y.log dSM_Temperatur_WZ
attr FileLog_dSM_Temperatur_WZ room digitalSTROM
define Plot_dSM_Temperatur_WZ SVG FileLog_dSM_Temperatur_WZ:dSM:CURRENT
attr dSM_Temperatur_WZ captionLeft 1
attr Plot_dSM_Temperatur_WZ label "Temperatur WZ: Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr Plot_dSM_Temperatur_WZ room digitalSTROM
FHEM meldet, dass die Verbindung des Datenpunkts zu dS nicht klappt (HTTP/1.1 403 Forbidden).
Der Datenpunkt im dS-System hat keine dSID sondern nur eine dSUID, wenn ich jedoch die Zeile (https://hierstehtdieipdesdSS:8080/json/device/getSensorValue?dsuid=hierstehtdiedSIDdesdSM&sensorIndex=0&token=$sid 60) im Webbrowser eingebe erhalte ich die korrekte Temperatur.
{"result":{"sensorIndex":0,"sensorValue":23.058824345469476},"ok":true}
Vieleicht kann mir ein FHEM-Spezialist einen Tipp geben, vielen Dank im Voraus.
Schöne Grüsse
Heinz
Hallo Heinz,
es ist schon lange her, dass ich die Anleitung im FHEM-Wiki geschrieben habe, deshalb bin ich vielleicht nicht auf dem aktuellen Stand. Mir ist folgendes aufgefallen:
1. Laut DS-Doku hat der JSON-Call eine DSID als Parameter: http://developer.digitalstrom.org/Architecture/dss-json.pdf#page95, also z.B. GET /json/device/getSensorValue?dsid=3504175fe000000000017ef3&sensorIndex=4, oder habe ich da einen falschen Stand? Der Call mit der DSUID wäre demnach nicht unterstützt. Aber Du schreibst, dass er funktioniert, wenn Du Ihn im Webbrowser eingibst. Ich nehme mal an, dass das authentifizierungsmässig einen Unterschied macht (welches Application Token wird da z.B. genutzt?). Aber ich bin da kein Experte.
2. Lt. DS-Doku gilt: If not properly authenticated the HTTP Status 403 is returned and the error response contains... Schau noch mal genau auf Deine Tokens, evt. stimmt da ja etwas nicht mehr. Generiere im Zweifel mal ein neues Application Token auf dem DSS.
3. Der ,,Datenpunkt" von dem Du schreibst, ist ja ein Sensor aus dem Digitalstrom-System. Was ist das denn konkret für ein Gerät, da es keine DSID hat? (es ist etwas verwirrend, wenn Du schreibst https://hierstehtdieipdesdss:8080/json/device/getSensorValue?dsuid=hierstehtdiedSIDdesdSM&sensorIndex=0&token= denn von einem dSM, willst Du ja vermutlich keine Temperatur auslesen.)
Grüsse,
Andreas
Hallo Andreas
Vielen Dank für die rasche Rückmeldung und deine Hinweise.
Das Gerät ist ein EnOcean Temperaturmessgerät von Thermokon welches über das Gateway P44-DSB-E2 automatisch in dS integriert wurde. (https://www.plan44.ch/automation/p44-dsb-e2.php?lang=d&lay=desk)
Ich bin einen Schritt weiter, die Verbindung wird jetzt korrekt hergestellt nachdem ich die folgende Zeile (https://hierstehtdieipdesdSS:8080/json/device/getSensorValue?dsuid=hierstehtdiedSUIDdesdSM&sensorIndex=0&token=$sid 60) nochmals im Eingabefeld eingetragen habe. (HTTP/1.1 200 OK) Scheinbar wurde die Zeile beim RAW-Import nicht richtig übernommen. Nun fehlt allerdings noch der Temperaturwert, die Anzeige ist immer 0.
Die Eingabe der folgenden Zeile im Webbrowser https://hierstehtdieipdesdSS:8080/json/device/getSensorValue?dsuid=3A578AE7AC725DDD8005D5429331D7CD00&sensorIndex=0&token=$sid ergibt reproduzierbar die korrekte Temperatur zurück. ({"result":{"sensorIndex":0,"sensorValue":23.215687096118928},"ok":true}) Ich gehe deshalb davon aus, dass der JSON-Call ,dsuid' im dS richtig verarbeitet wird.
Muss ich eventuell die Ausgabe, Anzeige in FHEM anders definieren oder irgendwie den Temperaturwert herausfiltern?
Schöne Grüsse
Heinz
Hallo Heinz,
ja ganz genau. Für das Filtern des JSON-Response ist der Teil mit dem ...Reading1RegEx... zuständig.
Da bleibt Dir nur der Blick in die FHEM-Doku und im Web mal googeln nach ,,regular Expressions".
In der HTTP-MOD Doku https://wiki.fhem.de/wiki/HTTPMOD#Parsing_JSON wird das auch ganz gut beschrieben.
Es gibt auch viele Tools online, mit denen man die regulären Ausdrücke testen kann, z.B. https://www.regextester.com/
Da kannst Du als Text die JSON-Response aus Deinem Webbrowser-Call einfügen und z.B. mal das hier testen, vielleicht passt es ja damit schon... ;)
{"result":{"sensorIndex":0,"sensorValue":([+-]?([0-9]*)[.])?[0-9]*
Ansonsten, nur Mut, es ist nicht so schwer... ;))
Grüsse,
Andreas
Hallo Andreas
Vielen Dank für deine Geduld und Bemühungen.
Ich versuchte verschiedene Einstellungen bei reading1Regex, unteranderem folge Konfiguration:
, reading1Regex {"result":{"Temperatur":(\d([+-]?([0-9]*)[.])?[0-9]*0)', leider ohne Erfolg, muss eventuell bei sid1IDRegex auch noch etwas angepasst werden?
Der Test bei https://www.regextester.com/ ergibt folgendes Resultat, siehe Anhang.
Irgendwie habe ich den Verdacht, dass die Abfrage grundsätzlich noch nicht richtig funktioniert, der FHEM-Abschnitt ,Readings' fehlt gänzlich.
Gibt es eine Möglichkeit die Kommunikation FHEM – dS zu prüfen (debuggen)?
Müsste eigentlich ohne Filterung nicht einfach alles, der gesamte String, angezeigt werden?
Die Abfrage der Leistung in Watt funktioniert jedoch korrekt und wird alle 60 Sekunden erneuert.
Schöne Grüsse
Heinz
Hallo Heinz,
1. hast Du inzwischen mal in die HTTPMOD-Doku geschaut?
2. hast Du folgendes versucht:
attr ... reading1Regex {"result":{"sensorIndex":0,"sensorValue":([+-]?([0-9]*)[.])?[0-9]*
(auch im regexttexter, leider konnte ich meinen Ausdruck nicht kopieren, deshalb kann da ggf. ein Tippfehler drin sein.
3. "result":{"Temperatur":(\d([+-]?([0-9]*)[.])?[0-9]*0)' funktioniert nicht, wenn die JSON-Response so aussieht, wie in der dSS-Doku bzw. so wie Du sie angegeben hast, also {"result":{"sensorIndex":0,"sensorValue":23.058824345469476},"ok":true}. Da kannst Du einen string "Temperatur" parsen so lange Du willst, der String steht da nicht drin ;-)
4. Deine Frage: "muss eventuell bei sid1IDRegex auch noch etwas angepasst werden?" => nein, der Teil ist für die Authentifizierung zuständig mit dem Session Token, dass Du ja vorher geholt hast.
5. Debuggen: am besten mal den VERBOSE-Level höher setzen, damit wird seitens FHEM mehr geloggt (z.B. 5). Am besten kommentierst Du dann noch die HTTPMODS-Teile für die Abfrage der Leistung aus und konzentrierst Dich erst mal auf den "neuen" Teil.
Ich hoffe es klappt bald bei Dir. Aber ich habe auch eine Weile rumgedoktert, bis ich die verschiedenen Themen übereinander bekommen habe (login auf dem dSS, JSON-Calls, regex...) Nur Mut!
Grüße,
Andreas
Hallo Andreas
Zu Pkt. 1 Wenn du die Beschreibung von dS-Server JSON meinst, ja die schaute ich an und gemäss Beschreibung funktioniert dsuid.
Zu Pkt. 2 Mit attr ..reading1Regex {"result":{"sensorIndex":0,"sensorValue":([+-]?([0-9]*)[.])?[0-9]* funktioniert die Abfrage und
unter dem FHEM-Abschnitt ,Readings' wird der aktuelle Temperaturwert jedoch 2-mal ausgegeben, einmal z.B. als 23. und
einmal als 23 (ohne .)
Ich hatte reading1Regex völlig falsch verstanden.
Dank deiner Hilfe bin ich einen grossen Schritt weiter.
Nun habe ich noch folgende zwei Unschönheiten,
a) unter dem FHEM-Abschnitt ,DeviceOverview' wird der Temperaturwert nicht angezeigt und
b) gerne hätte ich den Temperaturwert mit einer, gerundeten Kommastelle angezeigt
Muss das unter attr....stateFormat mit sprintf eingestellt werden?
stateFormat {sprintf("dsuid: %s - °C: %.3d", "3A578AE7AC725DDD8005D5429331D7CD00", ReadingsVal($name,"sensorValue",0))}
Vielleicht ist die fehlende Anzeige darin zu suchen, dass unter dem FHEM-Abschnitt ,Readings' der Wert 2-mal ausgegeben wird?
Siehe Anhang
Schöne Grüsse
Heinz
Hallo Heinz,
da bin ich jetzt raus ;) In die Details müsste ich mich selbst wieder einlesen und reindenken, das habe ich alles ewig nicht mehr angefasst. Aber ich denke, da kann Dir aber auch ein anderer FHEM-Experte weiterhelfen. Ich denke, dass ist nicht mehr digitalSTROM-spezifisch.
Ansonsten ist ja jetzt auch Wochenende ;)) Good luck
Grüsse, Andreas
Hallo Andreas
Ich experimentierte noch ein wenig mit Regex und mit folgendem Ausdruck {"result":{"sensorIndex":0,"sensorValue":([+-]?([0-9]*).[0-9]*) erscheint die Temperatur im FHEM-Abschnitt ,Readings' mit allen Nachkommastellen. Nun habe ich nur noch die fehlende Anzeige unter DeviceOverview, da suche ich jetzt noch weiter.
Nochmals vielen Dank für deine Unterstützung und schönes Wochenende.
Gruss
Heinz