Anwesenheitssimulation Fehler

Hallo zusammen,

erstmal vielen Dank für das tolle Modul, habe es nun auch endlich eingebaut.
ABER: Wenn ich es aktiviere, dann erhalte ich die Fehlermeldung bad_variant_access in module.php Zeile 274. Habe mir den Quellcode auch angesehen, da wird IPS_RequestAction versucht auszuführen. Kann mir noch nicht erklären welche Variable da nen Fehler wirft. Wie kann ich das herausfinden? Sind eigentlich nur STATE Variablen und LEVEL von Homemativ verlinkt zum schalten…

Danke im Voraus fürs Helfen :loveips::slight_smile:

Oli

Evtl. könnte man über das Debug etwas herausfinden.
Könntest du das mal posten?

Grüße,
Kai

Auf was soll ich den Debug den setzen? Habe schon mehrere Sachen mit Debug versucht, aber irgendwie kriege ich es da nicht richtig raus :frowning:
Debug auf die Instanz Anwesenheitssimulation?

Wenn du in der Instanz bist, kannst du oben auf den Button „Debug“ klicken, dort erscheinen dann Meldungen.
Diese Meldungen wären interessant zu sehen.

Grüße,
Kai

Anbei ein Screenshot davon, als Text krieg ich sonst nur die HEX Werte raus.
Für mich sieht das alles ok aus :frowning:

Grüße
Oli

Ist das Problem eigentlich noch aktuell?

paresy

Hallo.

Ich hänge mich mal an und sage - ja ;).

IPS 5.0. SymconMisc Modul ist aktuell.

Gruß
Thorsten

Welches Gerät soll damit dann gesteuert werden? Weißt du auf welche Wert?

paresy

Genau kann ich es nicht sagen - hätte aber eine Vermutung.
In der „Targets“ Kategorie liegt (fast) nur Beleuchtungslinks (Homematic und KNX) und das schon ziemlich lange und funktioniert stressfrei

Relativ neu dazugekommen (und bisher nicht getestet) ist ein Link auf eine „EIB Shutter Instanz“. Mein „Bauchgefühl“ sagt mir, dass ich hier einen Fehler gemacht habe.
Ich nehme den „EIB Shutter“ aus den Targets raus und beobachte es die nächsten Tage ob der Fehler weg ist.

Gruß
Thorsten

Was darf denn als Target überhaupt gelten - auch eine TRUE / FALSE Variable mit hinterlegten Aktionskript?

Im Prinzip alle Variablen mit Aktionsskript. (Also alles was per WebFront schaltbar ist)

paresy

Hallo paresy,

ich habe das gleiche Problem.
Bei mir kommt nachts (mehrfach) ebenfalls die Fehlermeldung:

IPS-Err-PHP  2018-12-30 00:00:01.135  Warning: bad_variant_access
   Error in Script /var/lib/symcon/modules/SymconMisc/AnwesenheitsSimulation/module.php on Line 274

wenn um 00:00:01 Uhr der UpdateDataTimer startet.

Ich habe die Probleme seitdem ich neben Bool-Variablen (Licht) auch Integer-Variablen (Rollo) verwende.

Interssanterweise läuft der manuelle Aufruf des Befehls (UpdateDataTimer):

if(AS_UpdateData($_IPS['TARGET'])) {AS_UpdateTargets($_IPS['TARGET']);}

mitten am Tag ohne Fehlermeldung durch und aktualisiert alle Variablen.

Alle Variablen haben ein Aktionsskript und sind aus dem Webfront schaltbar.

Ich freue mich über eine Rückmeldung.

Gruß
Marwin

Zu welcher Instanz gehört denn die Rollo Integer Variable?

paresy

Es handelt sich um eine EnOceanEltakoShutter-Instanz.
Die Integer-Variable (Aktion) verwendet das ShutterMoveStop-Profil mit
0=Öffnen
2=Stop
4=Schliessen
und als Aktion die „Standardaktion“

Marwin

Danke für den Hinweis! Ich habe mal ein Update hochgeladen - magst du dies mal ausprobieren?

paresy

Danke für die schnelle Hilfe am Neujahrstag und frohes neues Jahr!
Habe das Update eingespielt. Da der Fehler immer nur um 00:00:01 Uhr auftaucht, werde ich wohl nochmal Silvester feiern;)
Melde mich morgen mit dem Ergebnis…

Marwin

Hallo paresy,

leider keine Besserung. Die Fehlermeldungen kommen weiterhin.

IPS-Err-PHP  2019-01-02 00:00:01.178  Warning: bad_variant_access
   Error in Script /var/lib/symcon/modules/SymconMisc/AnwesenheitsSimulation/module.php on Line 272

Hast Du noch eine Idee??
Gruß
Marwin

Ich habe gerade noch etwas experimentiert:

Deine Vermutung laut History von AnwesenheitsSimulation/module.php --> „do not update without simulation data“
ist wohl richtig.

Wenn ich nur eine (ausgewählte) Variable im „Targets (Simulation)“ - Ordner verwende und manuell die Simulationsquelle (Tag) aktualisiere, kommt die Fehlermeldung nur an den Tagen, an denen für die Variable keine „letzten Werte“ vorhanden sind. An anderen Tagen funktioniert die Aktualisierung.

Du müsstest also „nur“ in deinem Skript nochmal schauen, warum bei fehlenden Daten trotzdem versucht wird, zu aktualisieren…

Marwin