Hi Marcus,
eine schnelle Lösung wäre wenn du auf die Logikseite einen Reload Core button draufmachst und das Log vom Status da sieht man auch oft die UTF8 probleme und die einrück gängeleinen von Phyton....
Viele Grüsse
Jürgen
Ankündigung
Einklappen
Keine Ankündigung bisher.
Logic
Einklappen
X
-
Offiziell, nein.Zitat von heckmannju Beitrag anzeigenKann man Items auch vom phyton aus anlegen?
Einen Kommentar schreiben:
-
Hallo,
auf die anderen Punkte ist Waldemar ja schon eingegangen.
Man kann bei Logiken auch Informationen direkt an das Logikobjekt logic hängen. z.B.Zitat von heckmannju Beitrag anzeigenFrage 2: wie kann man einen Wert zwischen zwei logickaufrufen speichern? Zur Zeit mach ich das mit einem Item welches Zwischenspeichert. Das finde ich aber nicht elegant. Gbit es auch eine bessere möglichkeit?Das Problem dabei ist das Initialisieren und die Persistens. Das kann man mit einem Item umgehen.Code:logic.meinwert = 42
In testing habe ich dem Logic-Objekt zwei Funktionen spendiert, die Logikspezifische Werte speichern. get_value und set_value
Diese sind auf https://docs.callidomus.com/de/Logiken/ unter logic beschrieben.
Bis bald
Marcus
Einen Kommentar schreiben:
-
Hi,
clis bedieinung ist gut und recht. Ich denke das der anspruch bei Callidomus höher liegt. Deswegen sollten die Beiden Knöpfe Start logic und reload logic, obenso wie ein restart core button und eine kleiner hinweise in der online Docu das ein restart von Core notwendig ist,in das UI!
Viele Grüsse
Jürgen
Einen Kommentar schreiben:
-
Guten Morgen Jürgen,
eine Logik kann man im cli ganz einfach mit tr <Logikname> triggern. Dabei ist wieder der Knoten-Name der Logik gemeint.Zitat von heckmannju Beitrag anzeigenNee zyklische aufrufen mach ich nur das ich was im logfile sehe...
Du kannst nicht ändern, dass sie auch bei einer 0 aufgerufen wird, aber Du kannst am Anfang einer Logik einZitat von heckmannju Beitrag anzeigeneigentlich will ich die Logick nur aufrufen wenn ich meine Tür aufmache da geht ein Wert von 0 auf 1. Zur Zeit wird die logick immer aufgerufen wenn sich das item ändert also auch bei 1 auf 0.
Frage 1: Kann man da was mache?
setzen.Code:if trigger.value == 1:
Ich finde Items genau das Richtige, dafür sind die ja da! Die speichern die Zustände des Hauses. Alternativ würde mir sonst noch ein File einfallen und ich glaube es geht auch am Logik-Objekt selbst, aber das hab ich noch nie genutzt, insofern kann ich auch nicht schreiben, wie es geht. Ich würde beim Item bleiben.Zitat von heckmannju Beitrag anzeigenFrage 2: wie kann man einen Wert zwischen zwei logickaufrufen speichern? Zur Zeit mach ich das mit einem Item welches Zwischenspeichert. Das finde ich aber nicht elegant. Gbit es auch eine bessere möglichkeit?
Das ist kein Bug sondern ein Feature. Alles was Du in der GUI machst, hat erstmal keine Auswirkung! Items, Logiken und Plugins werden vom core verwaltet, Visualisierung von der visu. Du musst immer den jeweiligen Generator (core oder visu) anstarten, damit Änderungen publiziert werden. Das ist sowohl beim Anlegen neuer Nodes wie auch beim Ändern von bestehenden so.beim Speichern einer logik ist auch noch ein kleiner bug drin. Ich habe eine logik angelegt mit Zyklischer ausführung wenn ich nun diese Zyklische ausführung wieder wegnehme und speichere läuft diese Munter weiter auf auf der cli hat ein relaod der logick nix geholfen.
Erst nach dem restart von core war ruhe.
Das kann man auch sehr einfach begründen: Damit alles möglichst schnell geht, hält Marcus möglichst viel im Speicher. Die Items, Logiken und Plugins bilden aber mit ihren Triggern ein komplexes Netzwerk ab, dass Du zur Laufzeit nicht seiteneffektfrei ändern kannst. Stell Dir vor, Du hast 3 Nodes, die existentiell voneinander abhängen. Konsistente Änderungen sind immer nur an allen 3 gleichzeitig möglich. Wenn Marcus jetzt nach jeder Änderung direkt die Knoten austauchen würde, hättest Du zwischendurch ein nicht funktionierendes callidomus. Das ist auch blöd.
Das ist schon gut so, wie es ist...
Gruß, Waldemar
Einen Kommentar schreiben:
-
Hi Marcus,
beim Speichern einer logik ist auch noch ein kleiner bug drin. Ich habe eine logik angelegt mit Zyklischer ausführung wenn ich nun diese Zyklische ausführung wieder wegnehme und speichere läuft diese Munter weiter auf auf der cli hat ein relaod der logick nix geholfen.
Erst nach dem restart von core war ruhe.
Viele Grüsse
Jürgen
Einen Kommentar schreiben:
-
Hi,
meiner Meinung nach sollte ich solche Fehler schon im ui zu sehen sein. Beim Save könnte man das prüfen.
Nee zyklische aufrufen mach ich nur das ich was im logfile sehe...eigentlich will ich die Logick nur aufrufen wenn ich meine Tür aufmache da geht ein Wert von 0 auf 1. Zur Zeit wird die logick immer aufgerufen wenn sich das item ändert also auch bei 1 auf 0.
Frage 1: Kann man da was mache?
Frage 2: wie kann man einen Wert zwischen zwei logickaufrufen speichern? Zur Zeit mach ich das mit einem Item welches Zwischenspeichert. Das finde ich aber nicht elegant. Gbit es auch eine bessere möglichkeit?
VG
Jürgen
Einen Kommentar schreiben:
-
Hi Jürgen,
mutig - eine Logik schreiben ohne ins Logfile zu schauen
. Jetzt weißt Du vielleicht, warum ich bei unseren Versuchen mit dem dwd immer zuerst callidomus.log gestartet habe und dann erst die Logik getestet...
Ich habe oben gelesen, dass die Logik alle 10s getriggert wird. Musst Du wirklich die baudisch pollen? Schickt sie Dir kein Signal, auf das man hören kann?
Ich freue mich, dass es erstmal klappt und Gute Nacht,
Waldemar
Einen Kommentar schreiben:
-
Hi,
jetzt ja.
phyton hat wohl ein Problem mit ANSI gehabt nachdem ich das file mit UTF-8 gespeichert habe geht es.
Viele Grüsse
Jürgen
Einen Kommentar schreiben:
-
Hallo,
das mit dem cli habe ich in stable/testing gefixt.
@heckmannju: schicken mir doch bitte mal das komplette Logfile unter /var/callidomus/log/core an support@Code:callidomus.core update callidomus.core restart
Steht das sonst keine Warning oder Error drin? Hast Du da mal reingesehen?
Bis bald
Marcus
Einen Kommentar schreiben:
-
Nein sobald ich irgend etwas mit Logic im cli mache geht die cli sofort wieder zu.
Einen Kommentar schreiben:
-
Hi Jürgen,
kannst Du im cli mit ll die Logik sehen? Wenn nein, würde ich den Logik-Node (also nicht das .py-File, sondern nur den Node in callidomus) löschen und unter einem anderen Namen neu anlegen mit dem selben .py-File.
Gruß, Waldemar
Einen Kommentar schreiben:
-
Hi,
ich habe eine neue logick angelegt. Callidomus.core restartet. Callidomus restart.
Es hilft nix die wird nicht erkannt.
Woran kann das liegen? dwd und ical logic wird ausgeführt. Was könnte noch fehlen? Eigentlich sollte die logick alle 10s ausgeführt werden.
VG
Jürgen
Capture.PNG
Einen Kommentar schreiben:
-
Hi Jürgen, der einzige mir bekannte Weg ist, den Core neu zu starten.
Ich hatte Marcus auch schon vorgeschlagen, eine einzelne Logik aus den ui aus starten zu können. Mit dem CLI geht das aber sehr gut...
Gruß Waldemar
Einen Kommentar schreiben:


Einen Kommentar schreiben: