[GELÖST]FHEM als Datenbrücke zwischen DECT200 und SAE

Begonnen von JumpingJohn, 06 Januar 2020, 22:52:30

Vorheriges Thema - Nächstes Thema

JumpingJohn

Hallo Zusammen,

habe im Anfänger Bereich bereits folgendes Thema eröffnet: https://forum.fhem.de/index.php/topic,107097.msg1009721.html#msg1009721

Ich versuche ein DECT200 ins FHEM zu bekommen um dessen Leistungsdaten in ein anderes System zu bekommen.

Ich scheitere aber am FBAHAHTTP Modul das sich einfach nicht ordentlich verbinden möchte.
Habe schon das anmelde verfahren von nur PW auf User/PW umgestellt. Habe Username und Passwort getestet, die stimmen.
FritzBox verbrinden hat ja auch geklappt. Zuerst stand da zwar "Didn't get a session ID", aber das war irgendwann weg und habe auch eine lange Readingsliste.
Nun nach dem Umstellen auf User/Passwort habe ich wieder die Meldung "Didn't get a session ID"

Meine Vermutung ist nun das es am Anfang nicht ging weil ich das falsche Anmeldeverfahren bei der FritzBox genutzt habe.
Aber warum klappt jetzt die Anmeldung der FritzBox nicht mehr?

Habe folgende Anleitung aus dem WIKI verwendet:
https://wiki.fhem.de/wiki/FRITZBOX

Ich habe auch nochmal alles gelöscht und neu angelegt, aber jetzt bleibt es bei der Fehlermeldung das keine Session ID erhalten wird.

Bin eh schon planlos nun aber auch endgültig ratlos!

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

MadMax-FHEM

Sprichst du nun vom Fritzbox-Modul ODER dem FBAHAHTTP (bzw. FBAHA) Modul!?

Das sind zwei komplett unterschiedliche Module!

Also bitte genau erläutern WAS (welches Modul) nun nicht geht...
...und mal lists der betroffenen Devices posten!

Siehe Links (wie im anderen Thread bereits erwähnt)...

list DeviceName

in FHEM-Web und dann die Ausgabe hier posten.
Dazu bitte code-Tags nehmen!
(das '#' im "Menü")

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

JumpingJohn

#3
Guten Morgen,

manchmal ist es ganz gut einfach mal über eine Sache zu überschlafen.
Das es zwei Module sind ist mir bewusst und es geht mir hauptsächlich um das Problem des FBAHAHTTP Moduls, den das des FritzBox Moduls hat sich über Nacht in wohlgefallen aufgelöst,
die Meldung "Didn't get Session ID" ist weg.

Habe dann gerade versucht das FBAHAHTTP Modul zu verbinden und ich bekomme nach dem anlegen mit:

definde fbahahttp FBAHAHTTP FritzBox (oder) 192.168.178.70 (beides ausprobiert, bei ersterem erkennt FHEM das ich die FritzBox aus dem FritzBox Modul meine beim zweiten obwohl die selbe IP nicht)
attr fbahahttp fritzbox-user <USERNAME>
set fbahahttp password <PASSWORT>

weiterhin die Meldung:
Zitatfbahahttp error: cannot get SID, check connection/hostname/fritzbox-user/password


DeviceOverview
fbahahttp

fbahahttp error: cannot get SID, check connection/hostname/fritzbox-user/password
fbahahttp
Internals
CFGFN

Clients

:FBDECT:
CmdStack

DEF
192.168.178.70
NAME

fbahahttp
NEXT_OPEN

1578376150
NR

207
STATE

fbahahttp error: cannot get SID, check connection/hostname/fritzbox-user/password
TYPE

FBAHAHTTP
fbahahttp
Attributes
fritzbox-user

<USERNAME>

deleteattr


Hoffe das ist das was Ihr braucht, Gruß
JumpingJohn

MadMax-FHEM

#4
Wie im anderen Thread geschrieben kenne ich das Fritz-Dect nicht/habe ich nicht...

Aber der hostname deiner Fritzbox ist FritzBox!?

Weil in der cref steht ja: probably fritz.box
(ob IP auch geht weiß ich nicht)

Weil in der Meldung steht ja: check connection/hostname/fritzbox-user/password

Zitat
beides ausprobiert, bei ersterem erkennt FHEM das ich die FritzBox aus dem FritzBox Modul meine beim zweiten obwohl die selbe IP nicht

Verstehe ich nicht...

Ansonsten: beim Device verbose auf 5 und noch mal versuchen zu verbinden oder fhem neu starten und das Log posten

Oder generell verbose auf 5 (Achtung: wieder zurückstellen nach Verbindungsversuch/fhem Neustart sonst "platzt" dein Log)

Username und Passwort stimmen!?
Berechtigungen auf der Fritzbox ebenso!?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

amenomade

Ist 192.168.178.70 wirklich die IP Adresse der Fritzbox ???
Was sagt host 192.168.178.70 in einem Linux Terminal, oder nslookup 192.168.178.70 in einem Windows cmd Terminal?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

JumpingJohn

Mal ne blöde frage, wie lange muss man dem System geben um sich zu sortieren?
Habe heute früh das FBAHAHTTP Modul eingetragen und da klappte innerhalb von 15-20 Minuten nichts bzw. hatte ich die Fehlermeldungen und nun schaue ich wieder drauf und es ist verbunden und auch die 3 DECT200 bzw. 210 sind per autocreate eingefügt worden.

Fürs nächste mal weiß ich dann wohl das man erstmal ein paar Stunden in Land gehen lassen muss um zu wissen ob etwas funktioniert oder nicht.

Ist dann wohl alles falscher Alarm hier gewesen, mal schauen ob ich nun noch das auslesen der Leistung hin bekomme und das dann vom SAE auslesen lassen kann.

Ich melde mich bestimmt nochmal.

MadMax-FHEM

Macht ja nix...
Ist aber bei vielen Systemen so: Geduld haben...

Homematic beim Anlernen ist oft auch so...
...und bei MAX! u.U. auch ;)

Dann kannst du ja ein [gelöst] vor den Thread "knallen" ;)

Viel Erfolg dann noch!

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

JumpingJohn

Nein noch nicht, denn mein eigentliches vorhaben habe ich noch nicht realisiert.

Aber das ist glaube ja etwas FritzBox unabhängiges. Das gewünschte Gerät (AVM DECT 200) ist jetzt ja vorhanden und sammelt auch schon fleißig Daten.

Ich hatte auch vor einiger Zeit schon mal einen Beitrag gefunden in dem erklärt wurde wie ich einzelne Dieser Daten mit einer immer gleichen HTTP Adresse abrufen kann, aber leider finde ich den Beitrag jetzt natürlich nicht mehr, ich habe keinen Plan mehr wie ich den in Google oder hier damals gefunden hatte.

Ich brauch in meinem Falle den Wert des Eintrag "Power" aus den Readings des Gerätes. Jetzt bin ich dafür hier wahrscheinlich schon wieder im falschen Unterforum, richtig?

sledge

Das Reading "Power" wird doch jetzt regelmäßig aktualisiert, oder? Das war zumindest bei meiner AVM DECT 200 so.

Welche Daten möchtest Du jetzt also "regelmäßig" abholen?

Wenn das Device angelegt wurde, kannst Du denn schalten usw? Wie immer hilft hier ein list des Devices.

FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

MadMax-FHEM

Zitat von: JumpingJohn am 07 Januar 2020, 13:24:57
Nein noch nicht, denn mein eigentliches vorhaben habe ich noch nicht realisiert.

Aber das ist glaube ja etwas FritzBox unabhängiges. Das gewünschte Gerät (AVM DECT 200) ist jetzt ja vorhanden und sammelt auch schon fleißig Daten.

Ich hatte auch vor einiger Zeit schon mal einen Beitrag gefunden in dem erklärt wurde wie ich einzelne Dieser Daten mit einer immer gleichen HTTP Adresse abrufen kann, aber leider finde ich den Beitrag jetzt natürlich nicht mehr, ich habe keinen Plan mehr wie ich den in Google oder hier damals gefunden hatte.

Ich brauch in meinem Falle den Wert des Eintrag "Power" aus den Readings des Gerätes. Jetzt bin ich dafür hier wahrscheinlich schon wieder im falschen Unterforum, richtig?

Welche Daten von welchem Device auf welchem System abrufen von WO, also auch: welches System etc.

Du bist immer sehr spärlich mit den Fragestellungen... ;)

Abfragen eines Readings eines Devices in fhem, also DECT->power per HTTP von einem anderen System?

Oder bei Änderung von DECT->power von woanders Daten per HTTP-Request abfragen!?


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

JumpingJohn

#11
Sorry, ich will euch auch nicht immer mit Informationen zu kleistern, aber bitte!

Ich habe einen Raspberry Pi 3 mit SAE (Smart Appliance Enabler) laufen (Auf dem selben Pi läuft auch FHEM). Der steuert meine Warmwasserwärmepumpe bei anliegendem Photovoltaik-Strom (Funktioniert auch schon). Die Verbrauchswerte der WWP möchte ich im SHM (Sunny Home Manager von SMA) haben.
Damit das geht brauche ich eine konstante HTTP-Adresse im SAE die eine regelmäßige Datenabfrage in FHEM auslöst und an den SAE in Text-Form (XML, JSON, ...) zurückschickt so das der SAE das versteht.
Direkter HTTP-Zugriff fällt wegen fehlender Session ID flach, deshalb muss ich den Umweg über FHEM gehen.
Andere Systeme hätten es womöglich auch getan, aber ich möchte FHEM dann nach und nach noch um weitere Systeme wie meine MAX! Heizungssteuerung, weitere DECT200 Dosen und vielleicht wenn irgendwann möglich um Waremas WMS System erweitern.
Geschaltet werden darf diese spezielle Schaltsteckdose im übrigen explizit nicht, da sonst die WWP aus wäre und dann womöglich die angeschlossene Ölheizung womöglich nicht mehr korrekt läuft.

Wie gesagt hatte ich schon einen entsprechenden Beitrag gefunden gehabt der das entsprechende Verhalten beschrieben hatte, habe aber den Link nicht mehr und meine neuen Suchen blieben bisher leider erfolglos.

MadMax-FHEM

#12
Also zunächst einmal würde ich in fhem ein eigenes/neues FHEM-Web anlegen:

define WEBSAE FHEMWEB 8088 global

Wenn dir 8088 nicht gefällt, einfach einen anderen freien Port...

'global' könntest du wohl auch weglassen weil du ja wie ich verstanden habe lokal frägst!?
(wäre somit schon mal sicherer)

Jetzt musst du entweder csrfToken deaktivieren (auf none setzen) NICHT empfohlen oder mind. auf einen festen Wert.
Ansonsten musst du immer vorher abfragen wie der aktuelle ist und dann entsprechend in den Aufruf einbauen...

Du kannst auch noch mit allowed entsprechend User/Passwort vergeben...

Die Sicherheitseinstellungen die du haben willst/brauchst musst DU bestimmen (und einlesen oder nachfragen)...

Folgender Aufruf geht (eben getestet):


http://192.168.1.120:8088/fhem?cmd={ReadingsVal("Test","present","n.a.")}


Damit frage ich in meinem fhem den "Wert"/Reading "present" bei einem Device namens "Test" ab.

Mein dafür angelegtes FHEMWEB hat Port 8088 und KEINEN csrfToken (weil ich mal schnell testen wollte)...

Mit mit fixem csrfToken müsste es dann wohl so gehen:


http://192.168.1.120:8088/fhem?cmd={ReadingsVal("Test","present","n.a.")}&fwcsrf=FIXER-CSRF-TOKEN


Ob du das dann (so) von deiner SAE-Station/Programm was auch immer aufrufen kannst und mit dem erhaltenen Ergebnis dort was anfangen kannst musst du sehen...

EDIT: wenn du was in json oder was auch immer brauchst, dann musst du wohl was zwischenschalten. Weil so kommt nat. "nur" der Wert (in meinem Fall "no" in einer Webseite)... Dann müsstest du aber vermutlich einen extra Webserver installieren, der mit so einem Aufruf die Daten von fhem holt und sie dann per z.B. php etc. in xml/json/... wandelt und dann an SAE "ausliefert"...

EDIT2: äh oder du legst ein userReadings an, was aus dem "Originalwert" ein neues Reading "bastelt" was dann eben das gewünschte Format hat... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

JumpingJohn

Super das ließt sich gut, wenn ich jetzt der WEBSAE Oberfläche nur den zugriff mittels einer einzigen IP-Adresse geben möchte, dann muss das dann glaube so aus sehen.

attr WEB allowfrom 192.168.178.39:8080

(geht das wenn FHEM und SAE die selbe IP haben, brauche ich den Port?)

Mein Abfragebefehl würde dann wohl so aussehen, richti?

http://192.168.178.39:8088/fhem?cmd={ReadingsVal(FBDECT_fbahahttp_11630_0120749, power)}

MadMax-FHEM

#14
Fast.

Also copy/paste und lesen von commandref ist nicht die große Stärke ;)

Bei allowFrom: IP-Adresse

Zitat von: commandref
allowfrom
Regexp of allowed ip-addresses or hostnames. If set, only connections from these addresses are allowed.
NOTE: if this attribute is not defined and there is no valid allowed device defined for the telnet/FHEMWEB instance and the client tries to connect from a non-local net, then the connection is refused. Following is considered a local net:

    IPV4: 127/8, 10/8, 192.168/16, 172.16/10, 169.254/16
    IPV6: ::1, fe80/10

Du kannst wie geschrieben (und in der commandref zu lesen ;)  ) auch einfach "global" beim Define weglassen, dann ist eh nur lokaler Zugriff erlaubt...

Bei deinem Aufruf fehlen auf jeden Fall schon mal Anführungszeichen UND der Parameter "Ersatzwert":

ReadingsVal("Devicename","Readingname","Ersatzwert")

Wenn du nur Zahlen bekommen willst (beispielsweise Einheiten "entfernen" etc.), dann gibt es auch noch ReadingsNum (gleiches wie Val aber halt nur die Zahlen aus dem Wert):

ReadingsNum("Devicename","Readingname",0)


Und du musst entweder csrfToken bei deiner Webinstanz auf none setzen ODER eben einen festen Token vergeben und diesen dann an den Aufruf anhängen...

Wenn du nur lokalen Zugriff zulässt und NIE lokal auf einen Link klickst, der dir von irgendwoher zukommt (also du beispielsweise KEINE grafische Oberfläche installiert hast! Sprich: "lite-Version" des OS), dann kannst du vermutlich auch ohne csrfToken arbeiten.
Empfehlen kann ich es NICHT!

EDIT: ob du noch Teile der url "encoden" (Stichwort: urlencode) musst, musst du testen. Bei mir haben die genannten Aufrufe im Browser funktioniert.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)