Hauptmenü

[gelöst] Perl Hilfe

Begonnen von Kellerkind86, 18 Januar 2021, 22:59:01

Vorheriges Thema - Nächstes Thema

Kellerkind86

Hallo,
würde gerne ein userreading bauen..
würde gerne ein normalen Text am Ende haben von :
next_geburtstag_fhem_native { ReadingsVal("Cal_GeburtstageView","t_001_summary","")." hat ".ReadingsVal("Cal_GeburtstageView","t_001_daysleftLong","") }

das entspricht jetzt einfach als Beispiel: (Dennis) hat ( in 3 Tag(en))
würde aber gerne das Geburtstag anhängen..

hab versucht mit ."Geburtstag" aber das funkioniert am Ende nicht.

danke im voraus,
Gruß Marcell
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

KölnSolar

doch, eigentlich schon. Vielleicht hattest Du es nicht richtig positioniert.Und manchmal helfen einfache Anführungszeichen.
next_geburtstag_fhem_native { ReadingsVal('Cal_GeburtstageView','t_001_summary','')." hat ".ReadingsVal('Cal_GeburtstageView','t_001_daysleftLong,'')." Geburtstag" }
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Otto123

Hallo Marcell,

bist Du sicher?

{"eins "."zwei ".ReadingsVal("WEB","state","")." drei"}

sollte schon so gehen:
next_geburtstag_fhem_native { ReadingsVal("Cal_GeburtstageView","t_001_summary","")." hat ".ReadingsVal("Cal_GeburtstageView","t_001_daysleftLong","")." Geburtstag" }

Zu spät :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle

aktives Mitglied des FHEM e.V. (Technik)

Kellerkind86

Danke euch.. Hatte davor und dahinter einen Punkt.
Vielen Dank
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

Otto123

Ich gehe da nicht von einem Tippfehler sondern von: Ich weiß eigentlich nicht warum ... aus?!

Diese Funktion heisst concatenation - oder besser Verkettung. Damit werden einzelne Strings (oder Funktionen die Strings liefern) miteinander verknüpft.
https://perldoc.perl.org/perlop#Additive-Operators
"String1"."String2"."String3" -> "String1String2String3" - deswegen ist ein Punkt am Ende ein Fehler, da fehlt dann die Fortsetzung ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle

aktives Mitglied des FHEM e.V. (Technik)

TomLee

Keine Vorteile, länger und im Vergleich alles in einer Zeile zu verketten (ohne Variable) umständlicher, aber vlt. erwähnenswert das man auch mit dem Zuweisungsoperator = zum Ziel kommen könnte.
Da setzt man die Punkte auch nicht falsch.

next_geburtstag_fhem_native { my $v=ReadingsVal("Cal_GeburtstageView","t_001_summary","");
$v .= " hat ";
$v .= ReadingsVal("Cal_GeburtstageView","t_001_daysleftLong","");
$v .= " Geburtstag" }


Gruß

Thomas

Kellerkind86

Okay, ich danke.
ich weiß ich hab noch viel zu lernen... ::)

danke
Gruß Marcell
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)