UI Nodes - Erste Schritte aus der alten in die neue Welt

Hallo zusammen,

erstmal Danke für das coole Upgrade der Node Blue umgebung. Node Red integrieren und dann noch eine eigen ui node Ebene einzubauen ist der Hammer.

Zu den UI Nodes habe ich dann auch gleich mal 2 fragen:

  1. Was muss ich beachten wenn ich aus der alten Welt komme und dort bereits mit UI - Elementen etc eine 80% Lösung meiner Hausoberfläche fertiggestellt habe. Nun würde ich Teile der neuen UI Nodes nutzen, da sie einfach einfacher einsetzbar sind. Sollte man dann das alte komplett entfernen und nochmal bei 0 Anfangen? Oder gibt es vielleicht sogar eine Möglichkeit des reverse orogramming?

  2. Hab es mir selber gelöst. Der Stringverbinder ist wohl der “.” und nicht das “&” wie bei den anderen Programmiersprachen.

Die Status ausgabe ist ein interessantes Feature welches ich gerne einsetze mittlerweile. Allerdings hapert es ein wenig an dem Zusammenbaue des Strings: Würde gerne Variable und dann die Einheit hinten an hängen:
Bsp:

$msg['payload'] =strval($hg->getValue(69,1,"TEMPERATURE"));
$msg['payload'] =$msg['payload']  . "°C ";
$msg['payload'] =$msg['payload']  . strval($hg->getValue(69,1,"HUMIDITY"));
$msg['payload'] =$msg['payload']  . "% ";
$msg['payload'] =$msg['payload']  . strval($hg->getValue(69,1,"BATTERY"));
$msg['payload'] =$msg['payload']  . "%";

Wenn ich das aber so ausgebe ist der Text leer. In der History der Node sehe ich dann /u0000 oder der art.
Kann natürlich auch mit meinen Code fähigkeiten imPHP zusammenhngen und man muss das anders aufziehen aber finde gerade keine bessere Möglichket

Vielleicht kann mir da jemand mal ein paar tips geben.

Danke auf jeden Fall mal.

Der Doc

$temp = $hg->getValue(69,1,"TEMPERATURE");
$hum = $hg->getValue(69,1,"HUMIDITY");
$bat = $hg->getValue(69,1,"BATTERY");
$msg['payload'] = $val . "°C " . $hum . "% " . $bat . "%";

PHP sollte für dich das automatische Type-Casting übernehmen.
Ansonsten macht folgendes auch einfacher was du oben machst:

$msg['payload'] .= (string)$temp . "°C";

Du kannst auch erstmal testen $msg['payload'] mal mit "test" zu befüllen und dann mit nem debug-node nachschauen.

Hey,

ja prinzipiell hat es dann funktioniert mit den Punkten allerdings schmiert die UI ab wenn ich das grad Zeichen (der Kreis den es bei der Apple Tastatur nicht gibt) :grinning: ab.
Dann bleibt er bei dem orangenen Häuschen hängen und macht nicht weiter.

Das Zeichen muss ich auch mit chr(176) einfügen sonst kommt Murks raus.

Gruß
Der doc

° ° ° (mit einer apple tastatur getippt)

Dann scheint hier aber irgendwas mit den Zeichensätzen nicht zu stimmen, @sathya?

@pmayer vom Handy iPhone oder Mac? Am iPhone finde ich das Zeichen nicht :grinning:

Am Mac links neben der 1, mit Shift bei ^.
Am iPhone/iPad lange auf die 0 halten.

°

Ah wieder was gelernt :grinning:danke!

Gruß
Felix

1 Like