[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)

JumpingJohn

#15
Ja, sorry bin N00b und ja das commandref wäre mir selbst wenn ich es gelesen hätte keine große Hilfe gewesen. Bin vielleicht auch einfach zu blöd, wer weiß.
Ich habe halt leider so gar keinen Programiererfahrung, ich kann ziemlich gut mit Windows, Office und Co und simple Installation nach Schritt für Schritt Anleitung wie ich es fürs RaspberryOS und den SAE hatte, aber hier das ist trotz diversen Tutorials irgendwie nicht gerade einsteigerfreudig oder ohne weiteres durch einlesen erlernbar, vielleicht ist mein Fall auch gerade einfach zu speziel, was weiß ich!? Mag ein mächtiges Tool sein, keine Frage, aber wohl nur für Cracks oder die die selbst daran mitgearbeitet haben. Ist zumindest meine Meinung dazu, sorry bin gerade etwas frustriert gerade weil ich mir eben eigentlich immer versuche sowas selbst bei zu bringen.

So, ich würde einfach gerne mal sehen was mir FHEM antwortet (damit könnte ich dann im PV-Forum nachfragen ob es damit klappt), aber entweder ist bei mir noch irgendwas falsch oder ich mache noch irgendwas falsch!

Habe ein Fixes Token zum testen eingegeben, dann brauche ich ja keine erlaubte IP Adresse über allowform angeben, richtig!? Wobei ich es auch mit versucht habe, aber leider mit dem selben Ergebnis. Freigegebene IP ist im übrigen zum Testen die meines Laptops.

Nun Nutze ich folgende Adresse um abzufragen, aber das Fenster vom Browser bleibt einfach leer!

http://192.168.178.39:8083/fhem?cmd={ReadingsVAL("FBDECT_fbahahttp_11630_0120749","power","NA")}&fwcsrf=123456789

Ich habe mal Screenshots vom WEBSAE und vom Gerät von dem ich Informationen haben möchte angehängt. Vielleicht hilft das ja irgendwie.

MadMax-FHEM

#16
In deiner Abfrage-Url hast du Port 8083 das FhemWeb mit dem fixen Token etc. ist aber Port 8088 das nur beim schnell Drüberkucken...

EDIT: da sollte es sogar eine entsprechende Fehlermeldung bzgl. csrfToken im fhem-Log geben...

Ob noch mehr ist kann ich mit Screenshots etc. auf dem Handy grad nicht analysieren...

Bitte keine Screenshots sondern lists der Devices.

Also list Devicename

EDIT: csrfToken und allowed sind komplett unterschiedliche Dinge. Frag doch zumindest Google bzgl. csrf... Ist nichts fhem-spezifisches sondern "allgemeine" Internetsicherheit/-problematik (bevor du wieder "schimpfst" ;)  )

EDIT2: für erste Tests würde ich csrfToken auf none setzen (also deaktivieren) und global beim FhemWeb-Device, sonst ist der Zugriff von einem ANDEREN Rechner (also nicht localhost) NICHT möglich... Und auch nix mit allowedFrom und auch nicht mit einem allowed-Device. Wenn das dann geht, kannst du ja Schritt für Schritt absichern...

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

ZitatNun Nutze ich folgende Adresse um abzufragen, aber das Fenster vom Browser bleibt einfach leer!


http://192.168.178.39:8083/fhem?cmd={ReadingsVAL("FBDECT_fbahahttp_11630_0120749","power","NA")}&fwcsrf=123456789

ReadingsVal <> ReadingsVAL
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

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

Okay, probiere ich heute Abend. Der falsche Port und VAL statt Val kommen vom kopieren nach hin und her probieren mit der ein oder andere Adresse nur um mal irgendeine Reaktion zu erhalten und sei es nur eine Fehlermeldung, hatte es auch mit dem richtigen Port versucht. Ab einer gewissen Uhrzeit sollte man sowas wohl auch nicht mehr machen, wenn der Tag davor auch schon lang war.

JumpingJohn

Also, ich habe es sogar über MyFritz hinbekommen eine korrekte Abfrage auszulösen und auch für den SAE klappt das so wie ich in Erfahrung bringen konnte.

Natürlich aktuell mit csrfToken auf none. Wie gehe ich jetzt am besten weiter vor?

MadMax-FHEM

Dann mal noch mal für wirklich copy/paste, damit du zumindest mal ein Erfolgserlebnis haben solltest oder man analysieren kann warum auch das bei dir (vielleicht) nicht geht.


define WEBTest FHEMWEB 8086 global



define TestDummy dummy



setreading TestDummy power 100


Das alles einfach in das Web-Eingabefenster von fhem...
(wenn du KEIN save config drückst und einen Neustart von fhem machst, dann ist auch alles Test-Zeugs wieder weg)

Dann in irgendeinen Browser (bzw. bei mir: Firefox auf Ubuntu 18.04 hat funktioniert):


http://IP-VON-FHEM:8086/fhem?cmd={ReadingsVal("TestDummy","power","n.a.")}


Dann sollte eben die 100 zurückkommen...
Oder zumindest "n.a."...

Ansonsten hast du es NICHT bis fhem geschafft...
...oder irgendwelche Einstellungen in fhem habe den Aufruf nicht zugelassen (sollte aber nicht sein, wenn du genau so vorgegangen bist)...


Wenn das geht, gut.
Dann einfach den Aufruf auf dein Device und Reading umbauen und testen.
Geht auch das, dann eben mal das mit csrfToken testen.
Dann entweder ein allowFrom ODER (weil du wie ich verstanden habe nur "lokal" also selber "Rechner" abfragen willst) du kannst auch das Web-Device löschen und neu anlegen OHNE 'global', dann sind NUR lokale (SELBER RECHNER) Zugriffe möglich...
Wenn du dann willst kannsz du dich auch noch mit allowed (also dem allowed-Device) beschäftigen und User/Passwort anlegen und so den Zugriff weiter absichern...
Und wenn du das tust, dann ist eigentlich https ein MUSS, weil User/Passwort OHNE verschlüsselte Übertrageung naja...

Ob und welche Sicherheit du IN/für dein System brauchst willst, musst du wissen...
...ich kann dir nur die Möglichkeiten nennen...

Allerdings denke ich wenn du wirklich beide Systeme auf einem Rechner laufen hast reicht wohl das FhemWeb-Device OHNE 'global'...

Falls du die Möglichkeit hast aus dem anderen System Telnet zu nutzen, auch damit kann man in fhem Werte abfragen/setzen...

UND: wenn was nicht geht, bitte genau schreiben WAS du gemacht hast, evtl. mal ins fhem-Log schauen (wie geschrieben von deinen Versuchen MUSS was drin stehen, eigentlich) und dann eben GENAU den Aufruf posten den du gemacht hast. Schreiben WAS auf WELCHEM System (IP etc.) läuft bzw. von welchem System (IP etc.) du den Aufruf auf WELCHES System (IP etc.) abgesetzt hast und bitte lists (KEINE Screenshots) von den beteiligten fhem Devices... Und die Sachen bitte in Code-Tags, das '#' im "Menü"... Es kann auch sein, dass du eine "leere" Seite bekommst, evtl. steht dann "im Sourcecode" der Seite der gewünschte Wert (wie geschrieben habe ich das unter Ubuntu mit einem Firefox getestet und da kommt "sichtbar" einfach 'no' [das ist der Wert der in meinem Reading steht] zurück)

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)

MadMax-FHEM

#22
Zitat von: JumpingJohn am 08 Januar 2020, 11:11:10
Also, ich habe es sogar über MyFritz hinbekommen eine korrekte Abfrage auszulösen und auch für den SAE klappt das so wie ich in Erfahrung bringen konnte.

Natürlich aktuell mit csrfToken auf none. Wie gehe ich jetzt am besten weiter vor?

Was meinst du mit über myFritz!?

VON AUSSEN!? INTERNET??!!

Dann mach SOFORT die Portweiterleitung in der Fritzbox ZU!!!!


EDIT: alle weiteren Schritte bzgl. Absicherung etc. habe ich "oben" geschrieben. Aber noch mal: ich dachte das System das abfrägt läuft auf dem SELBEN Rechner wie auch fhem!? Wenn nicht, bzw. wenn gar Zugriff über Internet (dann hast du das aber gut "versteckt" nicht zu nennen), dann ist das eine (ganz) andere Baustelle!!

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

Ja, FHEM und SAE laufen auf dem selben Pi.

Von der Arbeit aus kann ich aber nur von einem externen Gerät üben und in dem Fall eben über die MyFritz-App, die nur bei Bedarf mich ins Heimnetz lässt, würde ein andere Gerät das versuchen würde ich sofort eine Meldung darüber bekommen. Wird aber generell nicht Standard werden und ist dann rein local.

MadMax-FHEM

Gut, Fritz-App kenne ich nicht.

Wenn das sicher ist, dann ist's ja gut.

Ich kenne myFritz (vom Lesen) halt als so eine Art "dynDNS"-Zugang.
D.h. somit "weißt" du die gerade aktive IP (vom Provider) deines Routers/FB zuhause und greifst dann eben darüber zu, also:

myFritz:8086 oder myFritz:8088

Wenn du KEINE Portweiterleitungen in der Fritzbox hast, dann wird das schon ok sein...
...wenn doch (und es so ist wie ich myFritz ohne App) kenne (vom Lesen), dann eben: Ports ZU!

Weil das was du da aktuell in fhem konfiguriert hast und eben "nach außen geöffnet" hast: da käme ja dann JEDER drauf, der deine IP und Port "findet" (und es gibt Suchmaschinen für sowas)...

War nur als Warnung gemeint, weil eben so Testsachen NICHT für das "Einstellen" ins Internet gedacht sind/waren... ;)

Alles weitere ist ja beschrieben bzgl. Absicherung etc.

Allerdings würde ich selbst bei lokaler Anwendung auf dem selben Rechner (wie bei dir) über die Verwendung von csrfToken nachdenken (bzw. ich würde es anraten!)...

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

Ich kann mich bei aktiver Verbindung von unterwegs dann genauso verhalten wie wenn ich am Laptop im Wohnzimmer sitze würde.
Das läuft über eine seperate Anmeldung an einem Portal von AVM, wohl ähnlich wie z.B. das MAX!-Portal. Es ist kein fix eingerichteter Externer Zugriff der dauerhaft besteht.
Aber danke der Warnung und selbst diese vermeintlich sichere Verbindung versuche ich nur so selten wie möglich zu nutzen.

Ich möchte es natürlich so sicher wie möglich gestalten. Wichtig war zu erst einmal ob ich den nötigen Wert wieder aus FHEM herausbekomme, jetzt muss das ganze noch in eine Final nutzbare Version umgesetzt werden.

ZitatAllerdings würde ich selbst bei lokaler Anwendung auf dem selben Rechner (wie bei dir) über die Verwendung von csrfToken nachdenken (bzw. ich würde es anraten!)...

Ein Fix gesetztes csrfToken käme letztlich doch einem Passwort gleich, oder? Das muss ich doch nur entsprechend lang mit zufälligen Zahlen, Zeichen, Groß- und Kleinbuchstaben gestallten, oder meinst du mit Verwendung ein anderes Verfahren?

MadMax-FHEM

#26
Bitte lesen WAS bzw. WOFÜR (oder WOGEGEN) csrfToken ist... ;)

Prinzipiell ja. Der potentielle Angreifer muss das Token kennen/erraten bzw. beliebig viele ausprobieren.

D.h. jemand schickt dir einen Link und du klicks drauf (also z.B. http://ip-von-fhem:8086/fhem?cmd=delete%20.* / das kommando fegt dein fhem leer ;) ) und hast entweder (wie aktuell) kein Token, dann wird der Befehl ausgeführt, selbst wenn du mit Passwort etc. abgesichert hast (solltest du grad über den Brower zufällig an fhem angemeldet sein).
Mit einem gesetzten csrfToken muss der "Attakierer" eben das passende Token mitgeben...

Kein Token: du hast gesehen wie einfach das geht

Fixes Token: der "Angreifer" muss es kennen

fhem erzeugt bei jedem Start ein neues Token.
Mein fhem läuft normalerweise LANGE ;)
Also quasi hat (fast) jeder ein (fast) fixes Token... ;)

Aber gar kein Token würde ich nicht machen, außer mal zum Test...
...und noch mal: hat nichts mit Absicherung mittels User/Passwort zu tun, daher ja: mal bzgl. csrf im Internet suchen ;)

Aber auch hier: dein System deine Regeln ;)

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)

MadMax-FHEM

Wenn du den Wert dann noch in einem anderen Format brauchst (es klang so), dann evtl. mal userReadings anschauen.

https://wiki.fhem.de/wiki/UserReadings

Damit kannst du Werte/Readings eines Devices IM Device selbst (neu) "umwandeln" lassen und als neues/weiteres Reading "anzeigen" lassen...

Jedes mal wenn ein passendes Event kommt (beispielsweise eben power), dann wird das ausgeführt was bei userReadings hinerlegt ist.
Dort kann eben auch ein wenig Perl-Code stehen, der dann das Reading power "nimmt", entsprechend aufbereitet (xml, json, ...) und als neues Reading, sagen wir mal power_aufbereitet, "an das Device hängt"...

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

Danke Joachim für diese Idee, ich werde aber vorerst auf das vorhanden zurückgreifen, damit kann SAE mittels Regular Expression auch schon was anfangen.

Eins nach dem anderen. Habe ich das Fass abgefüllt und geschlossen finde ich sicherlich noch ein anderes das ich auf machen kann!  ;D

MadMax-FHEM

Bitte gerne!

War nur für den Fall, dass die Empfangsseite "empfindlich" reagiert, wenn die Daten nicht wie gewünscht kommen... ;)

Dann bitte noch ein [gelöst] vor den ersten Post...

Wenn wieder was ist: einfach wieder melden in einem passend lautenden Thread im dafür geeigneten Unterforum (dort lesen dann die "Spezialisten" für das Thema mit) und den notwendigen Infos (z.B. lists der Devices um die es geht, Logauszüge etc. in "code-Tags")...

Viel Spaß dann noch, 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

So, es sieht aktuell so aus das ich es hin bekommen habe. Morgen mal schauen ob ich auch Daten da ankommen wo ich Sie haben möchte.