Ankündigung

Einklappen
Keine Ankündigung bisher.

Logic

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • heckmannju
    antwortet
    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

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Zitat von heckmannju Beitrag anzeigen
    Kann man Items auch vom phyton aus anlegen?
    Offiziell, nein.

    Einen Kommentar schreiben:


  • heckmannju
    antwortet
    Kann man Items auch vom phyton aus anlegen?

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo,

    auf die anderen Punkte ist Waldemar ja schon eingegangen.

    Zitat von heckmannju Beitrag anzeigen
    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?
    Man kann bei Logiken auch Informationen direkt an das Logikobjekt logic hängen. z.B.
    Code:
    logic.meinwert = 42
    Das Problem dabei ist das Initialisieren und die Persistens. Das kann man mit einem Item umgehen.

    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:


  • heckmannju
    antwortet
    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:


  • mumpf
    antwortet
    Guten Morgen Jürgen,

    Zitat von heckmannju Beitrag anzeigen
    Nee zyklische aufrufen mach ich nur das ich was im logfile sehe...
    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 anzeigen
    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?
    Du kannst nicht ändern, dass sie auch bei einer 0 aufgerufen wird, aber Du kannst am Anfang einer Logik ein
    Code:
    if trigger.value == 1:
    setzen.

    Zitat von heckmannju Beitrag anzeigen
    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?
    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.

    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 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.

    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:


  • heckmannju
    antwortet
    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:


  • heckmannju
    antwortet
    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:


  • mumpf
    antwortet
    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:


  • heckmannju
    antwortet
    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:


  • callidomus
    antwortet
    Hallo,

    das mit dem cli habe ich in stable/testing gefixt.

    Code:
    callidomus.core update
    callidomus.core restart
    @heckmannju: schicken mir doch bitte mal das komplette Logfile unter /var/callidomus/log/core an support@

    Steht das sonst keine Warning oder Error drin? Hast Du da mal reingesehen?

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • heckmannju
    antwortet
    Nein sobald ich irgend etwas mit Logic im cli mache geht die cli sofort wieder zu.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    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:


  • heckmannju
    antwortet
    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:


  • mumpf
    antwortet
    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:

Lädt...
X