FHEM & DigitalStrom

Begonnen von matrix_rs, 08 Juni 2014, 16:49:24

Vorheriges Thema - Nächstes Thema

matrix_rs

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

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

matrix_rs

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

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Tommy82

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
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

matrix_rs

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

AndyK

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

Ich wäre interessiert, zu hören, wer noch alles die Kombination aus FHEM und digitalSTROM im Einsatz hat.

Grüsse, Andreas
AndyK

matrix_rs

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

Wutti

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

skyflying

Hallo Wutti,

schau Dir mal folgenden Chat an :  https://forum.fhem.de/index.php/topic,48982.msg406358.html#msg406358 

Ich hatte das gleiche Problem und nun läuft es....


Gruß
Stephan

Damu

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.

bugs

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

AndyK

#12
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



AndyK

bugs

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

AndyK

#14
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
AndyK