Teilweise keine Rückmeldung Status

Hallo,

ich setzte 2 CCU`s eine und überwache den Socket per Event Control. Nach einem Neustart des IPS-Raspi haben ich festgestellt das folgendes Script als fehlerhaft markiert wird.


<?
$Instance  = IPS_GetInstance(38861 /*[HomeMatic Socket CCU2a]*/);
$Status    = $Instance['InstanceStatus'];
//print_r(IPS_GetInstance(38861 /*[HomeMatic Socket CCU2a]*/));
SetValue(23688 /*[Service\HomeMatic\CCU2a\CCU-Socket-Status\CCU-Socket-Status]*/,$Status);
?>

Bisher hat`s aber funktioniert. Kann aber keine Fehler entdecken.

Andreas

PS.

Merkwürdiger Weise kommt jetzt auch eine Fehlermeldung beim Hinzufügen einer Instanz
Ich wollte gerade die Sainlogic Wetterstation hinzufügen und beim Hinzufügen der Instanz kommt die gleiche Fehlermeldung wie bei dem obrigen Skript.

die Datei __generated.inc.php ist das Verzeichnis aller Funktionen aller Module.
Die scheint defekt zu sein.
Bei einem Neustart vom IPS wird die neu gebildet.
Kann helfen. Ansonsten ist die Frage, pb du neulich ein Modul installiert/aktualisiert hast. Er gubt ja eine Zeilennummer 49 an, da könnte man nachsehen, welches Modul beteiligt ist

Hallo,

danke für deine Rückantwort. Wieder etwas gelernt: :smiley:
Die Datei hat es zerschossen. Auf den letzten Datensicherungen ist sie leider überall defekt. Scheinbar hat es die Datei bei einem Modul-Update zerlegt. Wie kann man eine neue Datei mit den richtigen Inhalten wieder erstellen?
Funktioniert es wenn man die Module löscht und wieder neu anlegt?

Andreas

hat ein Neustart eine Änderung gebracht?

Ansonsten gibt es noch die inoffizielle Funktion

MC_ReloadModule($module_control_id, "ModulName"); (Lädt das PHP Modul neu und erstellt auch die Instanzen neu)

module_control_id = ObjektID von Kernel -> Modules
ModulName = Name des Verzeichnisses in …/symcon/modules (i.d.R = Name des Moduls, muss aber nicht gleich sein)

Ansonsten könnte man natürlich auch mal ein Modul löschen und schauen, ob die Datei wieder ok ist.

Man koennte sich auch die Zeile 49 in der Datei mal ansehen.
Vielleicht nur eine Kleinigkeit.

Hallo,

nö - besteht nur noch aus <? und sonst nix :confused:

Andreas

leider nein

Ansonsten könnte man natürlich auch mal ein Modul löschen und schauen, ob die Datei wieder ok ist.

bringt nichts da die Datei bis auf <? leer ist

Ansonsten gibt es noch die inoffizielle Funktion

MC_ReloadModule($module_control_id, "ModulName"); (Lädt das PHP Modul neu und erstellt auch die Instanzen neu)

module_control_id = ObjektID von Kernel -> Modules
ModulName = Name des Verzeichnisses in …/symcon/modules (i.d.R = Name des Moduls, muss aber nicht gleich sein)

Bleibt nur noch diese Lösung

Danke euch beiden.

Andreas

Hallo,

ich habe die Datei manuell editiert und ?> hinzugefügt und gespeichert.
Danach das IPSymconWeatherStation Modul installiert.
Jetzt werden die Daten in die __generated.inc.php korrekt eingetragen.

Bringt aber beim Anlegen der Instanz einen Call to undefined method Error

Andreas

hmm, da solltest du auch in erwägung ziehen, das die sd-karte nicht mehr i.O. ist.
ich würde eine kopie der karte machen und mit

sudo shutdown -Fr now

eine Filesystem-Prüfung durchführen.

Die __generated.inc.php ist ja auch nicht ganz leer

bei IPS 4.4 steh am Kopf vor den Modulen:

<?

class boolean{}; class bool{}; class integer{}; class int{}; class float{}; class string{};
class IPSTypeHintHandler {
        public static function CatchError($ErrLevel, $ErrMessage) {
                if ($ErrLevel == E_RECOVERABLE_ERROR) {
                        return strpos($ErrMessage, 'must be an instance of string')
                                || strpos($ErrMessage, 'must be an instance of integer')
                                || strpos($ErrMessage, 'must be an instance of int')
                                || strpos($ErrMessage, 'must be an instance of float')
                                || strpos($ErrMessage, 'must be an instance of boolean')
                                || strpos($ErrMessage, 'must be an instance of bool');
                }
                return false;
        }
}

welche Version hast du? in deinem disclaimer steht was von 4.1? Dazu kann ich wenig sagen … meine immer noch eingeschränkten Kenntnisse beziehen sich nur auf 4.4+

Hallo,

sorry für die späte Rückantwort. Die 4.1. Leider habe ich zur Zeit viel Stress, so dass ich erst Morgen oder Übermorgen ein Image ziehen kann und dann die Speicherkarte testen kann.
Da ich zum Jahresende eigentlich auf Docker umziehen wollte habe ich mir als Übergangslösung überlegt, dem Pi eine M.2 SSD zu spendieren.
Hast du da Erfahrungen? Der C. hat eine M.2 SATA SSD Erweiterungs-Platine für den Raspberry Pi für 15,99€ + eine M.2 120 GB SSD
ist man mit 50€ dabei.

Andreas

ich hatte mal vor einigen monaten eine m2.ssd (adapter von element 14 als bestandteil eines desktop-gehäuses).

das umstellen auf ssd war etwas sucherei aber ging, hatte da äs dann aber so eingerichtet, das der raspi von der boot-partition der sd-karte bootet und dann auf die ssd umgeschwenkt
hab das gleich so eingerichtet, das jede nacht eine 1:1-kopie der ssd auf die sd-karte erfolgte (per ‚dd‘).

aber - weis nicht, woran es letztendlich lag, war das system aber etwas instabil. und nach ein paar ausfällen habe ich die sdd wieder rausgeworfen ( da ich die Kopie auf der sd-karre hatte war das eine sache von minuten)
fand die ssd auch zienlich warm.

ich mach das jetzt bei meinen raspis so, das ich eine (hochwertige) sd-karte drin habe und auf einem usb-port einen usb-sd-kartenhalter mit einer ersatz-sd-karte, auf die nächtlich dupliziert wird.
dazu natürlich sicherungen (per ‚rsync‘j suf ein usb-stick. weil das häua wenig bewegte daten sind passrn da jede menge versionen drauf.
und ab und an eine manuelle ips-sicherung auf anderen rechner.ä („gürtel und hosenträger“). da fühle ich mich ausreichend sicher.
ich kann schnell auf einen ersatz-raspi wechseln (sd-karte mitnehmen) und bei defekter sd-karte kommt die ersatzkarte zum tragen.
dein problem ist aber schon merkwürdig weil die sicherungen auch eine defekte __generated.inc.php enthält.
vielleicht kannst kannst du ja die settings,json etc sichern und dann ips neu installieren

Hallo,

danke für die Rückantwort. Ich werde auf einem anderen Pi eine Neuinstallation machen. Leider ist meine Subskription abgelaufen und ich habe jetzt erst einmal verlängern müssen. Ich werde eine 4.4 installieren und die Daten und die Settings kopieren.
Die Subskription ist aktiviert - danke Michael :wink:
Als Speicherkarten verwende ich sowieso nur Industriekarten.
Ich habe mit meinem Kollegen gesprochen, der hat ioBroker auf einem Pi und hat mit der SSD keine Probleme. Hat das Teil zwar vom R. gekauft, müsste aber baugleich mit deinem Teil sein.

Andreas

Das mit den SSD’s funktioniert bestimmt, das war auch mehr eine Erfahrung von mir, die ich auch nicht verallgemeinern möchte.
Ich habe das Thema mangels Interesse auch nicht wirklich weiter verfolgt habe. Mangelndes Interesse, weil ich mir mir noch nicht im reinen bin, wie ich das auf Dauer handhaben will.

Mir st jetzt wieder eingefallen, warum ich von de SD-Karte boote: das Element14 -Desktop-Gehäuse hat über die Zusatzlogik die Möglichkeit den Raspi per Knopfdruck herunterzufahren - sowie, so gut. Aber leider gab’s da bei Hochfahren Probleme, weil die SSD ab und an nicht schnell genug bereit war und dann der Reboot fehlschlug.
Das habe ich dann eben mit dem Boot von der SD-Karte umgangen. Aber wie gesagt, da war ich nur halbherzig dran.

Hallo,

nachdem ich ein Image gezogen habe, habe ich die SD-Karte überprüft. Kein Fehler! Ich habe ein paar Module gelöscht und wieder neu installiert was jetzt auch funktioniert. Auch wird die __generated.inc.php korrekt angelegt. Leider funktionieren manche Module nicht mehr mit der 4.1 Ich hoffe das bis zum Wochenende der M.2 Adapter für den Pi und die M.2 SSD da ist. Ich werde dann eine 4.4 neu aufsetzten. Langt es danach einfach den Symcon-Ordner reinzukopieren?

Andreas

Soweit ich das verstanden habe schon. Ich habe auch mein Test-Sytem so erstellt.

Das ist bei Dir allerdings eine Migration von 4.1 auf 4.4, da solltest Du vielleicht schauen, ob inMigration (V4.1->V4.2) und in den weiteren Migrationsschritten was für Dich relevantes steht.

Hallo,

heute war mal etwas Zeit :wink: Raspi mit SSD mit IPSymcon 4.4 aufgesetzt und den val/lib/symcon Ordner vom alten Raspi auf die SSD kopiert.
Funktioniert bis jetzt.

Andreas

PS Seit 13 Stunden kein Socket-Fehler mehr auf auf der CCU2a (Wired+RF):loveips: