[gelöst] FRITZ!DECT 200 lassen sich von FHEM aus nicht schalten

Begonnen von wk, 15 Januar 2019, 13:22:49

Vorheriges Thema - Nächstes Thema

wk

Der Test verlief positiv. Vielen Dank dafür.

Ich habe auch probiert, das blank durch %20 im curl-Befehl zu ersetzen. Auch das funktioniert.
Bleibt nur die Frage, ob Firefox ein blank in der URL automatisch durch %20 ersetzt?

Und die Frage, warum die Fritzbox eine AIN mit blank erzeugt, wenn es dann doch ignoriert wird?

rudolfkoenig

ZitatBleibt nur die Frage, ob Firefox ein blank in der URL automatisch durch %20 ersetzt?
Ja, das ist eigentlich "Vorschrift".

ZitatUnd die Frage, warum die Fritzbox eine AIN mit blank erzeugt, wenn es dann doch ignoriert wird?
Falsche Frage :)
AIN kann gerne Leerzeichen oder sonstwas enthalten, man muss es aber per URL schuetzen, d.h. das nicht zu tun war mein Fehler.
Die richtige Frage ist: wieso ist das mir und geschaetzt 2000 anderen FHEM/FBAHAHTTP Benutzer das Problem bisher nicht aufgefallen?

andreas_n

Hallo. Ich habe auch das gleiche Problem und habe gerade eine FHEM-Update durchlaufen lassen. Das Password habe ich ebenfalls neu eingegeben.
Nach dem Update / Neustart reagieren die Schalter aus FHEM heraus gar nicht mehr. (Vorher Ausfall ca all 24/48)

Hier ein Beispiel nach dem Update/Neustart...
2019.01.22 14:25:38 3: FBDECT set fb_LichtSofa on
2019.01.22 14:25:48 5: Fritzbox: dispatch <device identifier="08761 0104145" id="16" functionbitmask="2944" fwversion="04.09" manufacturer="AVM" productname="FRITZ!DECT 200"><present>1</present><name>fb_LichtSofa</name><switch><state>0</state><mode>manuell</mode><lock>0</lock><devicelock>0</devicelock></switch><powermeter><voltage>228827</voltage><power>0</power><energy>7951</energy></powermeter><temperature><celsius>190</celsius><offset>0</offset></temperature></device>
2019.01.22 14:25:48 5: fb_LichtSofa
2019.01.22 14:25:48 5:    celsius = 190
2019.01.22 14:25:48 5:    voltage = 228827
2019.01.22 14:25:48 5:    manufacturer = AVM
2019.01.22 14:25:48 5:    mode = manuell
2019.01.22 14:25:48 5:    id = 16
2019.01.22 14:25:48 5:    offset = 0
2019.01.22 14:25:48 5:    devicelock = 0
2019.01.22 14:25:48 5:    energy = 7951
2019.01.22 14:25:48 5:    state = 0
2019.01.22 14:25:48 5:    identifier = 08761 0104145
2019.01.22 14:25:48 5:    productname = FRITZ!DECT 200
2019.01.22 14:25:48 5:    present = 1
2019.01.22 14:25:48 5:    name = fb_LichtSofa
2019.01.22 14:25:48 5:    power = 0
2019.01.22 14:25:48 5:    fwversion = 04.09
2019.01.22 14:25:48 5:    lock = 0
2019.01.22 14:25:48 5:    functionbitmask = 2944
2019.01.22 14:25:49 5: Fritzbox: dispatch <device identifier="08761 0186657" id="17" functionbitmask="2944" fwversion="04.09" manufacturer="AVM" productname="FRITZ!DECT 200"><present>1</present><name>fb_SwHeizung</name><switch><state>1</state><mode>manuell</mode><lock>0</lock><devicelock>0</devicelock></switch><powermeter><voltage>228679</voltage><power>10290</power><energy>472628</energy></powermeter><temperature><celsius>190</celsius><offset>0</offset></temperature></device>

rudolfkoenig

Problem bitte mit "attr global verbose 5" dokumentieren, und Problemlog hier hochladen.

andreas_n

#19
Hoffe ich habe das Richtige rausgefiltert.....
( FB 6490 (Cable), FW: 7.0 )

Zitat2019.01.23 01:03:12 4: WEB_106.181.80.132_50767 POST /fhem?cmd.fb_LichtSofa=set%20fb_LichtSofa%20on&room=Fritzbox,Level_1&XHR=1&fwcsrf=csrf_831481178068712&fw_id=55614; BUFLEN:0
2019.01.23 01:03:12 5: Cmd: >set fb_LichtSofa on<
2019.01.23 01:03:12 3: FBDECT set fb_LichtSofa on
2019.01.23 01:03:12 5: Starting notify loop for fb_LichtSofa, 1 event(s), first is on
2019.01.23 01:03:12 5: rain_notify: devname=fb_LichtSofa rainname=CalRegen, dev=fb_LichtSofa, dev_regex=Regen rain_name=Rain_total israining_name=israining
2019.01.23 01:03:12 5: mqttPublishList: not on any display, ignoring notify
2019.01.23 01:03:12 5: Triggering n_publish_mqtt
2019.01.23 01:03:12 4: n_publish_mqtt exec {
    my $mqttReport = AttrVal($NAME, 'mqttReport', '');;

    if ($mqttReport ne '') {
        my $reading = "";;
        my $message = "";;

        if ($EVENT =~ qr/(.*?): (.*)/p) {
            $reading = $1;;
            $message = $2;;
        } else {
            $reading = "state";;
            $message = $EVENT;;
        }
        if ($mqttReport=~m/$reading/ || $mqttReport eq 'all') {
           my $topic = "/fhem/$NAME/$reading";;
           fhem("set mqtt publish $topic $message");;
        }
    }
}

2019.01.23 01:03:12 5: Cmd: >{
    my $mqttReport = AttrVal($NAME, 'mqttReport', '');

    if ($mqttReport ne '') {
        my $reading = "";
        my $message = "";

        if ($EVENT =~ qr/(.*?): (.*)/p) {
            $reading = $1;
            $message = $2;
        } else {
            $reading = "state";
            $message = $EVENT;
        }
        if ($mqttReport=~m/$reading/ || $mqttReport eq 'all') {
           my $topic = "/fhem/$NAME/$reading";
           fhem("set mqtt publish $topic $message");
        }
    }
}
<
2019.01.23 01:03:12 5: End notify loop for fb_LichtSofa
2019.01.23 01:03:12 4: WEB: /fhem?cmd.fb_LichtSofa=set%20fb_LichtSofa%20on&room=Fritzbox,Level_1&XHR=1&fwcsrf=csrf_831481178068712&fw_id=55614 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate

..............

2019.01.23 01:03:23 5: <devicelist version="1"><device identifier="08761 0104145" id="16" functionbitmask="2944" fwversion="04.09" manufacturer="AVM" productname="FRITZ!DECT 200"><present>1</present><name>fb_LichtSofa</name><switch><state>0</state><mode>manuell</mode><lock>0</lock><devicelock>0</devicelock></switch><powermeter><voltage>235062</voltage><power>0</power><energy>7951</energy></powermeter><temperature><celsius>195</celsius><offset>0</offset></temperature></device><device identifier="08761 0186657" id="17" functionbitmask="2944" fwversion="04.09" manufacturer="AVM" productname="FRITZ!DECT 200"><present>1</present><name>fb_SwHeizung</name><switch><state>1</state><mode>manuell</mode><lock>0</lock><devicelock>0</devicelock></switch><powermeter><voltage>233890</voltage><power>10580</power><energy>473140</energy></powermeter><temperature><celsius>195</celsius><offset>0</offset></temperature></device><device identifier="08761 0100706" id="18" functionbitmask="2944" fwversion="04.09" manufacturer="AVM" productname="FRITZ!DECT 200"><present>1</present><name>fb_SwGeschirrSpuelM</name><switch><state>1</state><mode>manuell</mode><lock>0</lock><devicelock>0</devicelock></switch><powermeter><voltage>233889</voltage><power>0</power><energy>241646</energy></powermeter><temperature><celsius>160</celsius><offset>0</offset></temperature></device><device identifier="08761 0186658" id="19" functionbitmask="2944" fwversion="04.09" manufacturer="AVM" productname="FRITZ!DECT 200"><present>1</present><name>fb_SwWaschmaschine</name><switch><state>1</state><mode>manuell</mode><lock>0</lock><devicelock>0</devicelock></switch><powermeter><voltage>233574</voltage><power>0</power><energy>522487</energy></powermeter><temperature><celsius>145</celsius><offset>0</offset></temperature></device><device identifier="08761 0136986" id="20" functionbitmask="2944" fwversion="04.09" manufacturer="AVM" productname="FRITZ!DECT 200"><present>1</present><name>fb_SwPelletOfen</name><switch><state>0</state><mode>manuell</mode><lock>0</lock><devicelock>0</devicelock></switch><powermeter><voltage>233959</voltage><power>0</power><energy>115308</energy></powermeter><temperature><celsius>165</celsius><offset>0</offset></temperature></device><device identifier="08761 0148507" id="21" functionbitmask="2944" fwversion="04.09" manufacturer="AVM" productname="FRITZ!DECT 200"><present>1</present><name>fb_SwEntfGrKeller</name><switch><state>0</state><mode>manuell</mode><lock>0</lock><devicelock>0</devicelock></switch><powermeter><voltage>233611</voltage><power>0</power><energy>320930</energy></powermeter><temperature><celsius>185</celsius><offset>0</offset></temperature></device><device identifier="08761 0095162" id="22" functionbitmask="2944" fwversion="04.09" manufacturer="AVM" productname="FRITZ!DECT 200"><present>1</present><name>Sw_MWelleKeller</name><switch><state>0</state><mode>manuell</mode><lock>0</lock><devicelock>0</devicelock></switch><powermeter><voltage>234815</voltage><power>0</power><energy>22205</energy></powermeter><temperature><celsius>170</celsius><offset>0</offset></temperature></device><device identifier="08761 0472177" id="24" functionbitmask="2944" fwversion="04.09" manufacturer="AVM" productname="FRITZ!DECT 200"><present>1</present><name>fb_WasserPumpe</name><switch><state>1</state><mode>manuell</mode><lock>0</lock><devicelock>0</devicelock></switch><powermeter><voltage>233355</voltage><power>1000</power><energy>47747</energy></powermeter><temperature><celsius>150</celsius><offset>0</offset></temperature></device></devicelist>

2019.01.23 01:03:23 5: Fritzbox: dispatch <device identifier="08761 0104145" id="16" functionbitmask="2944" fwversion="04.09" manufacturer="AVM" productname="FRITZ!DECT 200"><present>1</present><name>fb_LichtSofa</name><switch><state>0</state><mode>manuell</mode><lock>0</lock><devicelock>0</devicelock></switch><powermeter><voltage>235062</voltage><power>0</power><energy>7951</energy></powermeter><temperature><celsius>195</celsius><offset>0</offset></temperature></device>
2019.01.23 01:03:23 5: fb_LichtSofa
2019.01.23 01:03:23 5:    functionbitmask = 2944
2019.01.23 01:03:23 5:    lock = 0
2019.01.23 01:03:23 5:    fwversion = 04.09
2019.01.23 01:03:23 5:    power = 0
2019.01.23 01:03:23 5:    name = fb_LichtSofa
2019.01.23 01:03:23 5:    productname = FRITZ!DECT 200
2019.01.23 01:03:23 5:    present = 1
2019.01.23 01:03:23 5:    state = 0
2019.01.23 01:03:23 5:    identifier = 08761 0104145
2019.01.23 01:03:23 5:    devicelock = 0
2019.01.23 01:03:23 5:    energy = 7951
2019.01.23 01:03:23 5:    offset = 0
2019.01.23 01:03:23 5:    id = 16
2019.01.23 01:03:23 5:    mode = manuell
2019.01.23 01:03:23 5:    manufacturer = AVM
2019.01.23 01:03:23 5:    celsius = 195
2019.01.23 01:03:23 5:    voltage = 235062

rudolfkoenig

Ich sehe keinen Versuch, den FritzBox zu steuern. Entweder wurde es aus dem Log entfernt, oder der FBDECT IODev ist falsch gesetzt.
Kannst du bitte "list -r fb_LichtSofa" (Detail-Ansicht, Raw Definition) hier anhaengen?

andreas_n

Gerne ...

define fb_LichtSofa FBDECT Fritzbox:16 switch
attr fb_LichtSofa DbLogExclude .*
attr fb_LichtSofa IODev Fritzbox
attr fb_LichtSofa alexaName Licht Sofa
attr fb_LichtSofa alexaRoom Wohnzimmer
attr fb_LichtSofa room Fritzbox,Level_1

setstate fb_LichtSofa off
setstate fb_LichtSofa 2019-01-23 14:05:25 AIN 08761 0104145
setstate fb_LichtSofa 2019-01-23 14:05:25 FBNAME fb_LichtSofa
setstate fb_LichtSofa 2019-01-23 14:05:25 FBPROP powerMeter,tempSensor,switch
setstate fb_LichtSofa 2019-01-23 14:05:25 FBTYPE FRITZ!DECT 200
setstate fb_LichtSofa 2019-01-23 14:05:25 ID 16
setstate fb_LichtSofa 2018-09-16 04:45:29 control on fn=1 > 0.00 delay:0sec do:state off
setstate fb_LichtSofa 2018-09-30 04:50:03 current 0.0000 A
setstate fb_LichtSofa 2019-01-23 14:05:25 devicelock no
setstate fb_LichtSofa 2019-01-23 14:05:25 energy 7951 Wh
setstate fb_LichtSofa 2019-01-23 14:05:25 fwversion 04.09
setstate fb_LichtSofa 2019-01-23 14:05:25 locked no
setstate fb_LichtSofa 2019-01-23 14:05:25 mode manuell
setstate fb_LichtSofa 2018-09-16 04:45:27 options powerOnState:last,lock:none
setstate fb_LichtSofa 2019-01-23 14:05:25 power 0.00 W
setstate fb_LichtSofa 2018-09-30 04:50:03 powerFactor 0.000
setstate fb_LichtSofa 2019-01-23 14:05:25 present yes
setstate fb_LichtSofa 2019-01-23 14:05:25 state off
setstate fb_LichtSofa 2019-01-23 14:05:25 tempadjust 0.0 C
setstate fb_LichtSofa 2019-01-23 14:05:25 temperature 19.5 C (measured)
setstate fb_LichtSofa 2019-01-23 14:05:25 voltage 230.481 V

rudolfkoenig

Kannst du bitte die Ausgabe von "list Fritzbox" (diesmal nicht list -r) hier anhaengen?
Falls CmdStack nicht leer ist, versuch bitte FHEM neu zu starten, und dann das Befehl nochmal abzusetzen.
Am besten mit "attr global verbose 5", fuer den Fall, dass es wieder schiefgeht.

andreas_n

#23
Hier das Feedback von "list Fritzbox"
Im Moment scheint die Fritzbox auch wieder zur reagieren. Muss mal abwarten bis der nächste Fehler auftritt.

ZitatInternals:
   Clients    :FBDECT:
   DEF        192.168.1.1
   FUUID      5c486557-f33f-84cd-90a5-f7b17ac0e2cce179
   NAME       Fritzbox
   NR         670
   STATE      connected
   TYPE       FBAHAHTTP
   CmdStack:
   MatchList:
     1:FBDECT   .*
Attributes:
   DbLogExclude .*
   fritzbox-user fhem_fritzbox
   polltime   15
   room       Fritzbox

rudolfkoenig

Ich vermute eine seltene Konstellation als Ursache: wenn mehr als ein Befehl im Queue ist, und der FritzBox eine Weile nicht erreichbar ist, dann holt zwar FHEM irgendwann eine neue SID (d.h. update funktioniert weiter), aber die Befehle aus dem Queue werden nicht mehr abgearbeitet (und CmdStack im list ist nicht leer).

Ich habe versucht das Problem zu loesen (fhem-update morgen ab acht), kann es aber nicht nachstellen, insofern bleibe ich unsicher.

andreas_n

Danke. Ich gebe gerne später ein Feedback. Das Update werde ich installieren. Bislang war die Fritzbox mit den Steckdosen immer sehr zuverlässig.

Jamo

Hallo Rudi, ja, das wird es sein, wenn die Dect nicht geschalten haben, habe ich auch gesehen das im list dann immer eine lange Schlange von nicht abgearbeiteten Befehlen zu sehen war. Danke!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

andreas_n

Habe das Update durchgeführt. Erst dachte ich, dass das Problem behoben ist aber dann

Internals:
   Clients    :FBDECT:
   DEF        192.168.1.1
   FUUID      5c486557-f33f-84cd-90a5-f7b17ac0e2cce179
   NAME       Fritzbox
   NR         670
   STATE      connected
   TYPE       FBAHAHTTP
   CmdStack:
     ain=087610136986&switchcmd=setswitchoff
     ain=087610136986&switchcmd=setswitchoff
     ain=087610136986&switchcmd=setswitchoff
     ain=087610136986&switchcmd=setswitchoff
     ain=087610136986&switchcmd=setswitchoff
     ain=087610136986&switchcmd=setswitchoff

rudolfkoenig

Ein{$defs{Fritzbox}{CmdStack} = ()}wird das Problem vmtl. beheben. Was mir nicht klar ist, wie es dazugekommen ist. Und das brauche ich, um das Problem zu beheben. Leider habe ich ausser "attr global verbose 5" keine gute Idee, wie man das Problem lokalisieren koennte.

Wzut

@Rudi , das ist doch das alte Problem von hier https://forum.fhem.de/index.php/topic,58147.msg855049.html#msg855049 ?
ich dachte die auto Löschung von CmdStack wäre jetzt drin ? Seit ich sie bei mir dazugebastelt habe ist Ruhe.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher