Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Error/Bug
  4. Absturz in fhem Adapter

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    12
    1
    130

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

Absturz in fhem Adapter

Scheduled Pinned Locked Moved Error/Bug
49 Posts 2 Posters 3.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • LausiDL Offline
    LausiDL Offline
    LausiD
    wrote on last edited by
    #11

    Alles klar :-)

    Mach mal Aktualisierung von github

    Wie steht hier im Kapiel 8 : https://github.com/ioBroker/ioBroker.fh … er/docs/de

    Sorry link war falsch

    Doku zum FHEM Adapter
    Aktuelles zum FHEM Adapter
    Test FHEM Adapter

    1 Reply Last reply
    0
    • A Offline
      A Offline
      aski71
      wrote on last edited by
      #12

      Habe es trotzdem gefunden. :-)

      Aber schräge Sache: Siehe Screenshot.

      … und Build Date bleibt trotzdem bei 6.11.18. :shock:
      1107_bildschirmfoto_2018-12-30_um_00.07.24.png

      1 Reply Last reply
      0
      • LausiDL Offline
        LausiDL Offline
        LausiD
        wrote on last edited by
        #13

        Neustart FHEM Adapter?

        Noch was: Du kannst setlist noch auf "on:noArg off:noArg mixed:noArg" ändern.

        Damit bekommst du jeweils ein Objekt als button

        Doku zum FHEM Adapter
        Aktuelles zum FHEM Adapter
        Test FHEM Adapter

        1 Reply Last reply
        0
        • A Offline
          A Offline
          aski71
          wrote on last edited by
          #14

          Sorry, mein Fehler. Neustart vergessen!

          Jetzt steht da 17.12.18.

          Aber: Der Absturz bleibt der gleiche. :shock:

          Der State scheint jetzt richtig gefüllt zu werden.

          sonosSZenabled hat weiterhin die Rolle "text"

          Das mit noArg hab ich noch nicht gemacht.

          1 Reply Last reply
          0
          • LausiDL Offline
            LausiDL Offline
            LausiD
            wrote on last edited by
            #15

            Wir kriegen das hin :-)

            Entweder fhem.0.info.Configurations.autoRole auf true setzen und Adapter wird automatisch neu gestartet

            oder das Objekt Wecker löschen und Adapter neu starten

            Doku zum FHEM Adapter
            Aktuelles zum FHEM Adapter
            Test FHEM Adapter

            1 Reply Last reply
            0
            • A Offline
              A Offline
              aski71
              wrote on last edited by
              #16

              Ein Schritt weiter:

              Das Objekt scheint jetzt richtig zu sein.

              Habe beide Varianten probiert: autoRole auf true.

              Sync abgewartet.

              Wecker in fhem geändert.

              -> Trotzdem Absturz.

              Danach Objekt Wecker komplett gelöscht.

              Sync abgewartet.

              Wecker in fhem geändert.

              -> Trotzdem Absturz.

              :shock:

              1 Reply Last reply
              0
              • LausiDL Offline
                LausiDL Offline
                LausiD
                wrote on last edited by
                #17

                Mh….du änderst state in FEHM auf on oder off?

                Kannst du das Script mal deaktivieren?

                state in ioBroker ändern und Übertrag nach FHEM kontrollieren.

                state in FHEM ändern und Übertrag nach ioBroker kontrollieren

                Doku zum FHEM Adapter
                Aktuelles zum FHEM Adapter
                Test FHEM Adapter

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  aski71
                  wrote on last edited by
                  #18

                  Es hat also tatsächlich etwas mit dem Skript zu tun.

                  Wenn das Skript aus ist, passiert der Absturz nicht.

                  1 Reply Last reply
                  0
                  • LausiDL Offline
                    LausiDL Offline
                    LausiD
                    wrote on last edited by
                    #19

                    puh…..jetzt bin ich aber beruhigt.

                    Ok hilft dir nicht weiter :-)

                    Wie sieht dein script aus?

                    Hat sich die Fehlermeldung eigentlich geändert?

                    Der Teil ist interessant: iobroker.fhem/main.js:206:25

                    Doku zum FHEM Adapter
                    Aktuelles zum FHEM Adapter
                    Test FHEM Adapter

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      aski71
                      wrote on last edited by
                      #20

                      Skript 1 wird über ein notify getriggert. Sobald an der Oberfläche "on" oder "off" geschaltet wird, läuft es los.

                      Abhängig vom "on" oder "off" werden 1 Sonos Wecker und 2 Hue Schedules ein- oder ausgeschaltet.

                      Hier werden noch aus Debug-Gründen Readings gesetzt.

                      sub
                      toggleWakeupSchedules($)
                      {
                         my ($Value)  = @_;
                         my %hueToggle = ('status' => "undef");
                         my $sonosToggle = 1;
                      
                         if ("$Value" eq "on")
                         {
                            %hueToggle = ('status' => "enabled");
                            $sonosToggle = "enable";
                         } elsif ("$Value" eq "off") {
                            %hueToggle = ('status' => "disabled");
                            $sonosToggle = "disable";
                         } else {
                            return;
                         }
                      
                         # Toggle Alarm No ID 1 at Sonos Beam SZ
                         fhem "set Sonos_Schlafzimmer Alarm $sonosToggle 1";
                      
                         # Create a user agent object
                         my $ua = LWP::UserAgent->new;
                         $ua->agent("MyApp/0.1");
                      
                         my $jsonToggle = encode_json \%hueToggle;
                      
                         # Create a Hue request for Elke
                         my $req1 = HTTP::Request->new(PUT => 'http://192.168.2.46/api/<xyz>/schedules/2');
                         $req1->content_type('application/json');
                         $req1->content($jsonToggle);
                      
                         # Create a Hue request for Alex
                         my $req2 = HTTP::Request->new(PUT => 'http://192.168.2.46/api/<xyz>/schedules/4');
                         $req2->content_type('application/json');
                         $req2->content($jsonToggle);
                      
                         # Pass requests to the user agent and get a response back
                         my $res1 = $ua->request($req1);
                         my $res2 = $ua->request($req2);
                         my $hash1 = decode_json $res1->content;
                         my $hash2 = decode_json $res2->content;
                         my $niceHash1 = Dumper $hash1;
                         my $niceHash2 = Dumper $hash2;
                      
                         # Check the outcomes of the responses
                         if ($res1->is_success) {
                           fhem "setreading Wecker hueElkeLichtWeckerReturn $niceHash1";
                         } else {
                            fhem "setreading Wecker hueElkeLichtWeckerReturn $res1->status_line";
                         }
                         if ($res2->is_success) {
                           fhem "setreading Wecker hueAlexLichtWeckerReturn $niceHash2";
                         } else {
                           fhem "setreading Wecker hueAlexLichtWeckerReturn $res2->status_line";
                         }
                      
                         # Aufruf, den Hue Zustand und den Sonos-Zustand zu aktualisieren
                         getWakeupSchedules();
                      }</xyz></xyz> 
                      

                      Am Ende wird das Skript getWakeupSchedules gestartet, das die Readings im Dummy-Device aktualisiert und daraus den konsolidierten State "on" oder "off" oder "mixed" setzt:

                      sub
                      getWakeupSchedules
                      {
                         # Create a user agent object
                         my $ua = LWP::UserAgent->new;
                         $ua->agent("MyApp/0.1");
                      
                         # Create a Hue request
                         my $req = HTTP::Request->new(GET => 'http://192.168.2.46/api/<xyz>/schedules');
                      
                         # Pass request to the user agent and get a response back
                         my $res = $ua->request($req);
                      
                         my $elkeLichtWecker="undef";
                         my $alexLichtWecker="undef";
                      
                         # Check the outcome of the Hue response
                         if ($res->is_success) {
                           my $hash = decode_json $res->content;
                           my $niceHash = Dumper $hash;
                           $elkeLichtWecker = $hash->{2}->{status};
                           $alexLichtWecker = $hash->{4}->{status};
                           # Set Hue Readings for Wecker
                           fhem "setreading Wecker hueSchedulesList $niceHash";
                           fhem "setreading Wecker hueElkeLichtWecker $elkeLichtWecker";
                           fhem "setreading Wecker hueAlexLichtWecker $alexLichtWecker";
                         } else {
                           fhem "setreading Wecker hueSchedulesList $res->status_line";
                         }
                      
                         my $sonosSZenabled = eval(ReadingsVal("Sonos_Schlafzimmer","AlarmList","{}"))->{1}->{Enabled};
                         fhem "setreading Wecker sonosSZenabled $sonosSZenabled";
                      
                         if ( "$elkeLichtWecker" eq "enabled" && "$alexLichtWecker" eq "enabled" && $sonosSZenabled == 1 ) 
                         {
                            fhem "setstate Wecker on"; 
                         } elsif ("$elkeLichtWecker" eq "disabled" && "$alexLichtWecker" eq "disabled" && $sonosSZenabled == 0)
                         {
                            fhem "setstate Wecker off";
                         } else
                         {
                            fhem "setstate Wecker mixed";
                         }</xyz> 
                      

                      Additive Info: die Sonos-Abfrage liefert derzeit an immer erstmal den falschen Wert, so dass grundsätzlich ein "mixed" entsteht. Das ist aber ein anderes Problem, dem ich auf den Grund zu gehen versuche. Startet man nämlich unmittelbar danach getWakeupSchedules() von Hand, oder löst die gleiche Aktion über die Oberfläche nochmal aus, stimmt es wieder. Kann mir aber nicht vorstellen, dass das was mit dem aktuellen Problem zu tun hat.

                      1 Reply Last reply
                      0
                      • LausiDL Offline
                        LausiDL Offline
                        LausiD
                        wrote on last edited by
                        #21

                        Ach du hast den script unter Perl/Fhem gemacht…dachte ioBroker JS :-)

                        Ersetze im 2. script mal alle Zeilen mit fhem "setstate Wecker on"; in fhem "set Wecker on"

                        Zusätzlich noch fhem.1.info.Settings.logEventFHEMstate auf true. Damit werden alle state Änderungen ins Log von ioBroker geschrieben

                        Doku zum FHEM Adapter
                        Aktuelles zum FHEM Adapter
                        Test FHEM Adapter

                        1 Reply Last reply
                        0
                        • A Offline
                          A Offline
                          aski71
                          wrote on last edited by
                          #22

                          @LausiD:

                          Hat sich die Fehlermeldung eigentlich geändert?

                          Der Teil ist interessant: iobroker.fhem/main.js:206:25 `

                          Sorry, übersehen.

                          Ja, hat sich geändert:

                              at parseEvent (/opt/iobroker/node_modules/iobroker.fhem/main.js:212:25)
                              at Telnet.telnetIn.on.data (/opt/iobroker/node_modules/iobroker.fhem/main.js:2146:33)
                          
                          
                          1 Reply Last reply
                          0
                          • A Offline
                            A Offline
                            aski71
                            wrote on last edited by
                            #23

                            @LausiD:

                            Ach du hast den script unter Perl/Fhem gemacht…dachte ioBroker JS :-)

                            Ersetze im 2. script mal alle Zeilen mit fhem "setstate Wecker on"; in fhem "set Wecker on"

                            Zusätzlich noch fhem.1.info.Settings.logEventFHEMstate auf true. Damit werden alle state Änderungen ins Log von ioBroker geschrieben `

                            Das war bis vor 15 Minuten noch ein "set Wecker …".

                            Ich bin zwischenzeitlich mal auf die Idee gekommen, es auf "setstate Wecker ..." zu ändern. Der set löst ja wieder ein Event aus und schickt die Skripte nochmal in den Krieg, oder?

                            Die Änderung hat nix gebracht.

                            Ich hab dann zur Sicherheit auch noch das "event-on-change-reading .*" rausgenommen.

                            Keine Änderung.

                            1 Reply Last reply
                            0
                            • LausiDL Offline
                              LausiDL Offline
                              LausiD
                              wrote on last edited by
                              #24

                              Ok…passt

                              Mh FHEM muss aus irgendeinem Grund einen Event nur aus einem Wort generieren.

                              Könnte das im Adapter unterdrücken, aber jetz interessiert es mich schon :-)

                              Mit fhem.0.info.Settings.logEventFHEM auf true bekommst du im Log ioBroker alle events aus FHEM angezeigt.

                              Nach einem event aus einem Wort muss Fehlermeldung kommen

                              Doku zum FHEM Adapter
                              Aktuelles zum FHEM Adapter
                              Test FHEM Adapter

                              1 Reply Last reply
                              0
                              • A Offline
                                A Offline
                                aski71
                                wrote on last edited by
                                #25

                                Krieg ich leider nicht.

                                Sehe im iobroker Log keinerlei fhem Events.

                                Ich habe inzwischen mal rumgespielt und den getWakeupSchedules() Aufruf rausgenommen.

                                Effekt ist der gleiche: Absturz, wenn das Skript startet.

                                Dann habe ich mal in fhem { getWakeupSchedules() } manuell gestartet und mir dort die Events anzeigen lassen.

                                Die sehen so aus:

                                2018-12-30 01:36:00 dummy Wecker hueSchedulesList: {   '1' => {            'created' => '2018-12-17T14:41:39',            'command' => {                           'method' => 'PUT',                           'body' => {                                       'status' => 0                                     },                           'address' => '/api/mIIFI0nT5fJDjWzXLJngqo7jporLBGfNK9DI7HRr/sensors/3/state'                         },            'time' => 'PT00:00:10',            'starttime' => '2018-12-17T14:41:39',            'name' => 'Dimmer Switch 2 Reset',            'recycle' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),            'status' => 'disabled',            'autodelete' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),            'localtime' => 'PT00:00:10',            'description' => 'Resets dimmer switch scene cycler'          },   '5' => {            'time' => 'PT00:01:00',            'created' => '2018-11-07T23:03:18',            'command' => {                           'method' => 'PUT',                           'body' => {                                       'scene' => 'rG7qkF-1HZ8nT9W'                                     },                           'address' => '/api/r8X1c3wCpv8qMulPzRzSGV-OiN4QrHKq/groups/0/action'                         },            'name' => 'L_04_njqbA',            'starttime' => '2018-12-27T05:29:00',            'recycle' => $VAR1->{'1'}{'recycle'},            'status' => 'disabled',            'autodelete' => $VAR1->{'1'}{'autodelete'},            'localtime' => 'PT00:01:00',            'description' => 'L_04_njqbA_trigger end scene'          },   '3' => {            'status' => 'disabled',            'recycle' => $VAR1->{'1'}{'recycle'},            'name' => 'L_04_A9Aeu',            'starttime' => '2018-12-27T04:50:00',            'time' => 'PT00:01:00',            'created' => '2018-11-05T05:49:50',            'command' => {                           'address' => '/api/r8X1c3wCpv8qMulPzRzSGV-OiN4QrHKq/groups/0/action',                           'body' => {                                       'scene' => 'V080xDoezs6QZjg'                                     },                           'method' => 'PUT'                         },            'description' => 'L_04_A9Aeu_trigger end scene',            'localtime' => 'PT00:01:00',            'autodelete' => $VAR1->{'1'}{'autodelete'}          },   '4' => {            'localtime' => 'W124/T06:29:00',            'description' => 'L_04_njqbA_start wake up',            'created' => '2018-11-07T23:03:18',            'command' => {                           'address' => '/api/r8X1c3wCpv8qMulPzRzSGV-OiN4QrHKq/sensors/5/state',                           'body' => {                                       'flag' => $VAR1->{'1'}{'recycle'}                                     },                           'method' => 'PUT'                         },            'time' => 'W124/T05:29:00',            'name' => "Nat\x{fc}rlich Aufwachen Alex",            'status' => 'disabled',            'recycle' => $VAR1->{'1'}{'recycle'}          },   '2' => {            'description' => 'L_04_A9Aeu_start wake up',            'localtime' => 'W124/T05:50:00',            'recycle' => $VAR1->{'1'}{'recycle'},            'status' => 'disabled',            'name' => "Nat\x{fc}rlich Aufwachen Elke",            'time' => 'W124/T04:50:00',            'command' => {                           'method' => 'PUT',                           'address' => '/api/r8X1c3wCpv8qMulPzRzSGV-OiN4QrHKq/sensors/4/state',                           'body' => {                                       'flag' => $VAR1->{'1'}{'recycle'}                                     }                         },            'created' => '2018-11-05T05:49:50'          } } 
                                2018-12-30 01:36:00 dummy Wecker hueElkeLichtWecker: disabled
                                2018-12-30 01:36:00 dummy Wecker hueAlexLichtWecker: disabled
                                2018-12-30 01:36:00 dummy Wecker sonosSZenabled: 0
                                
                                

                                Wenn nur toggleWakeupSchedules läuft, sieht es so aus:

                                2018-12-30 01:41:12 dummy Wecker on
                                2018-12-30 01:41:12 dummy Wecker hueElkeLichtWeckerReturn: [   {     'success' => {                    '/schedules/2/status' => 'enabled'                  }   } ] 
                                2018-12-30 01:41:12 dummy Wecker hueAlexLichtWeckerReturn: [   {     'success' => {                    '/schedules/4/status' => 'enabled'                  }   } ] 
                                2018-12-30 01:41:12 SONOSPLAYER Sonos_Schlafzimmer LastActionResult: SetAlarm: #1: Success!, 
                                2018-12-30 01:41:12 SONOS Sonos LastProcessAnswer: 1546130472
                                2018-12-30 01:41:13 SONOSPLAYER Sonos_Schlafzimmer AlarmList: {'1' => {'Recurrence_Saturday' => 0,'Recurrence_Friday' => 1,'IncludeLinkedZones' => '0','Recurrence_Wednesday' => 1,'Recurrence_Monday' => 1,'Recurrence_Once' => 0,'Volume' => '13','Duration' => '01:40:00','StartTime' => '06:00:00','Recurrence_Tuesday' => 1,'ProgramMetaData' => 'Radio Gong 96.3object.item.audioItem.audioBroadcastSA_RINCON67591_','ProgramURI' => 'x-sonosapi-stream:STATION%3a41483?sid=264&flags=8224&sn=2','Repeat' => 1,'Recurrence_Sunday' => 0,'Enabled' => '1','Shuffle' => 1,'RoomUUID' => 'RINCON_949F3EC0DF0201400','Recurrence_Thursday' => 1}}
                                
                                
                                1 Reply Last reply
                                0
                                • A Offline
                                  A Offline
                                  aski71
                                  wrote on last edited by
                                  #26

                                  So. Wieder mein Fehler. Ist auch schon spät. :lol:

                                  Nachdem ich den richtigen Parameter auf true gesetzt habe:

                                  fhem.0	2018-12-30 01:46:53.502	info	event (FHEM) "]"
                                  fhem.0	2018-12-30 01:46:53.502	info	event (FHEM) " }"
                                  fhem.0	2018-12-30 01:46:53.502	info	event (FHEM) " }"
                                  fhem.0	2018-12-30 01:46:53.502	info	event (FHEM) " '/schedules/2/status' => 'disabled'"
                                  fhem.0	2018-12-30 01:46:53.502	info	event (FHEM) " 'success' => {"
                                  fhem.0	2018-12-30 01:46:53.502	info	event (FHEM) " {"
                                  fhem.0	2018-12-30 01:46:53.501	info	event (FHEM) "dummy Wecker hueElkeLichtWeckerReturn: ["
                                  fhem.0	2018-12-30 01:46:53.501	info	event FHEM(s) "dummy Wecker off" > fhem.0.Wecker.state off
                                  fhem.0	2018-12-30 01:46:53.501	info	event (FHEM) "dummy Wecker off"
                                  
                                  

                                  Das passiert in iobroker, wenn ich den Button betätige.

                                  Ich glaube, jetzt kommen wir der Sache auf die Spur! Das ergibt zusammen mit den in fhem angezeigten Events ein Bild. :?

                                  1 Reply Last reply
                                  0
                                  • LausiDL Offline
                                    LausiDL Offline
                                    LausiD
                                    wrote on last edited by
                                    #27

                                    Dann muss das Problem ja im 1.script auftauchen….

                                    Wenn du fhem.0.info.Settings.logEventFHEM auf true setzt bekommmst du keine events aus FHEM im Log von ioBroker?

                                    Doku zum FHEM Adapter
                                    Aktuelles zum FHEM Adapter
                                    Test FHEM Adapter

                                    1 Reply Last reply
                                    0
                                    • LausiDL Offline
                                      LausiDL Offline
                                      LausiD
                                      wrote on last edited by
                                      #28

                                      Ja sit wirklich spät :-)

                                      Aber da sind die gesuchten events :-)

                                      Ich änder kurz was am Adapter…..

                                      Doku zum FHEM Adapter
                                      Aktuelles zum FHEM Adapter
                                      Test FHEM Adapter

                                      1 Reply Last reply
                                      0
                                      • A Offline
                                        A Offline
                                        aski71
                                        wrote on last edited by
                                        #29

                                        @LausiD:

                                        Dann muss das Problem ja im 1.script auftauchen….

                                        Wenn du fhem.0.info.Settings.logEventFHEM auf true setzt bekommmst du keine events aus FHEM im Log von ioBroker? `

                                        Siehe oben. Ich hatte versehentlich .logEventFHEMstate auf true gesetzt, statt .logEventFHEM. :roll: :lol:

                                        1 Reply Last reply
                                        0
                                        • LausiDL Offline
                                          LausiDL Offline
                                          LausiD
                                          wrote on last edited by
                                          #30

                                          Hihi….ja gar nicht so leicht um die Zeit :-)

                                          Ok wir machen noch eine schnelle Lösung zum Problem:

                                          Unter fhem.0.info.Configurations.ignoreReadings trägst du mal alle deine Readings wie hueElkeLichtWeckerReturn usw mit Komma getrennt ein

                                          Problem sind die "/n" = Zeilenumbruch in deinen Readings

                                          Doku zum FHEM Adapter
                                          Aktuelles zum FHEM Adapter
                                          Test FHEM Adapter

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          547

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe