Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Absturz in fhem Adapter

Geplant Angeheftet Gesperrt Verschoben Error/Bug
49 Beiträge 2 Kommentatoren 3.0k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A Offline
    A Offline
    aski71
    schrieb am zuletzt editiert von
    #5

    Ich setze es manuell auf on oder off.

    Ein Skript prüft dann den Zustand mehrerer Geräte, legt diesen in den Readings ab und setzt den Status auf "mixed", falls eines der Geräte die Änderung nicht mitgegangen ist.

    Der Absturz passiert bei jeder Statusänderung.

    1 Antwort Letzte Antwort
    0
    • LausiDL Offline
      LausiDL Offline
      LausiD
      schrieb am zuletzt editiert von
      #6

      Stausänderung in FHEM?

      Objekt sieht so aus?
      2201_wecker.png

      Also bei mir geht Änderung state in beide Richtungen mit on off mixed

      Einziger Unterschied verwende die Version von github

      Doku zum FHEM Adapter
      Aktuelles zum FHEM Adapter
      Test FHEM Adapter

      1 Antwort Letzte Antwort
      0
      • A Offline
        A Offline
        aski71
        schrieb am zuletzt editiert von
        #7

        Ah… da ist mir vorhin schon was aufgefallen:

        Bei state wird im Wert "true" oder "false" angezeigt, statt "on", "off" oder "mixed".

        Im Screenshot fällt mir noch auf:

        Bei sonosSZenabled habe ich Rolle "text" statt "value".
        1107_bildschirmfoto_2018-12-29_um_23.41.48.png

        1 Antwort Letzte Antwort
        0
        • LausiDL Offline
          LausiDL Offline
          LausiD
          schrieb am zuletzt editiert von
          #8

          Mh…das ist nicht die aktuelle Version.

          Was steht unter fhem.1.info.Info.buildDate für ein Datum?

          Muss vor 03.12.18 sein, oder?

          von LausiD » 03.12.2018, 00:27

          Hallo zusammen,

          auf github kann der Adapter mit folgenden Änderungen aktualisiert werden

          Da state eines FHEM Device unterschiedliche Zustände/Funktionen haben kann, werden bei Bedarf im ioBroker automatisch zusätzliche Objekte angelegt.

          1. fhem.x.Device.state enthält den Wert aus FHEM 1:1 als String

          a. fhem.x.Device.state_switch true/false als Boolean, wenn state on oder off ist oder Possible Sets on und off enthalten.

          Dadurch kann zB auch ein dummy als Schalter verwendet werden.

          b. fhem.x.Device.state_boolean true/false , wenn state open/ooened/close/closed/present/absent ist.

          c. fhem.x.Device.state_value 0/2 für die Werte von state_boolean

          Damit sollte es in VIS viel einfacher werden :-)

          2. Objekte mit nummerischen Inhalt werden als number angelegt

          Doku zum FHEM Adapter
          Aktuelles zum FHEM Adapter
          Test FHEM Adapter

          1 Antwort Letzte Antwort
          0
          • A Offline
            A Offline
            aski71
            schrieb am zuletzt editiert von
            #9

            6.11.18

            1 Antwort Letzte Antwort
            0
            • A Offline
              A Offline
              aski71
              schrieb am zuletzt editiert von
              #10

              Habe vorhin extra nochmal mittels

              npm install iobroker.fhem --production
              

              drüber gebügelt.

              1 Antwort Letzte Antwort
              0
              • LausiDL Offline
                LausiDL Offline
                LausiD
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  aski71
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • LausiDL Offline
                    LausiDL Offline
                    LausiD
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • A Offline
                      A Offline
                      aski71
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • LausiDL Offline
                        LausiDL Offline
                        LausiD
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • A Offline
                          A Offline
                          aski71
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • LausiDL Offline
                            LausiDL Offline
                            LausiD
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • A Offline
                              A Offline
                              aski71
                              schrieb am zuletzt editiert von
                              #18

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

                              Wenn das Skript aus ist, passiert der Absturz nicht.

                              1 Antwort Letzte Antwort
                              0
                              • LausiDL Offline
                                LausiDL Offline
                                LausiD
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • A Offline
                                  A Offline
                                  aski71
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  0
                                  • LausiDL Offline
                                    LausiDL Offline
                                    LausiD
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    0
                                    • A Offline
                                      A Offline
                                      aski71
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      0
                                      • A Offline
                                        A Offline
                                        aski71
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        0
                                        • LausiDL Offline
                                          LausiDL Offline
                                          LausiD
                                          schrieb am zuletzt editiert von
                                          #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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          653

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe