Re: Möglichkeit der Abfrage welche Lampen eingeschaltet sind per Telegramm
Verfasst: 19. Jun 2020 13:26
hab Telegramm Binding 2 und Action Telegramm 1
Code: Alles auswählen
rule "Telegramm Status Lampen anfordern"
when
Item LastMessageText received update "Status Lampen"
then
val StringBuilder sb = new StringBuilder
gLampen.members.filter[ i | i.state == ON].forEach[i | sb.append(", " + i.name) ]
//sendTelegram("openHAB", sb.toString)
val telegramAction = getActions("telegram","telegram:telegramBot:Telegram_Bot")
telegramAction.sendTelegram(sb.toString)
end
Code: Alles auswählen
Failed to send telegram message: Bad Request: message text is empty
Code: Alles auswählen
rule "Telegramm Status Lampen anfordern"
when
Item Telegram_Last_Text received update "Status Lampen"
then
val StringBuilder sb = new StringBuilder
GR_Lichtdr.members.filter[ i | i.state == ON].forEach[i | sb.append(", " + i.name) ]
val telegramAction = getActions("telegram","telegram:telegramBot:bot1")
telegramAction.sendTelegram(sb.toString)
end
Code: Alles auswählen
Group:Switch:OR(ON,OFF) GR_Lichtdr "Decolicht [(%d)]" <lightbulb>
Code: Alles auswählen
logInfo(“logger“,“sb hat den Wert {}“,sb)
Code: Alles auswählen
logInfo(“logger“,“sb hat den Wert {}“,sb)
Code: Alles auswählen
rule "Telegramm Status Lampen anfordern"
when
Item Telegram_Last_Text received update "Status Lampen"
then
val StringBuilder sb = new StringBuilder
GR_Lichtdr.members.filter[ i | i.state == ON].forEach[i | sb.append(", " + i.name) ]
val telegramAction = getActions("telegram","telegram:telegramBot:bot1")
logInfo(“logger“,“sb hat den Wert {}“,sb)
telegramAction.sendTelegram(sb.toString)
end
Code: Alles auswählen
sb hat den Wert , Gosund1, Light3_Toggle, Light4_Toggle, Light6_Toggle, Light8_Toggle, FDSwitch8
Code: Alles auswählen
rule "Telegramm Status Lampen anfordern"
when
Item Telegram_Last_Text received update "Status Lampen"
then
val StringBuilder sb = new StringBuilder
GR_Lichtdr.members.filter[ i | i.state == ON].forEach[i | sb.append(", " + i.name) ]
GR_Lichtdr.members.filter[ i | i.state == OFF].forEach[i | sb.append(", " + i.name) ]
val telegramAction = getActions("telegram","telegram:telegramBot:bot1")
logInfo("logger","sb hat den Wert {}",sb)
telegramAction.sendTelegram(sb.toString)
Code: Alles auswählen
rule "Telegramm Status Lampen anfordern"
when
Item Telegram_Last_Text received update "Status Lampen"
then
val StringBuilder sb = new StringBuilder
GR_Lichtdr.members.filter[ i | i.state == ON].forEach[j | sb.append((if(sb.toString != "")", " else "") + j.name) ]
sb.append(" sind eingeschaltet")
GR_Lichtdr.members.filter[ i | i.state == OFF].forEach[j | sb.append(", " + j.name) ]
sb.append(" sind ausgeschaltet.")
logInfo("logger","sb hat den Wert {}",sb)
val telegramAction = getActions("telegram","telegram:telegramBot:bot1")
telegramAction.sendTelegram(sb.toString)
end
Code: Alles auswählen
GR_Lichtdr.members.filter[ i | i.state == ON].forEach[j,k |
if (sb.toString != "") {
if(k < GR_Lichtdr.members.filter[ i | i.state == ON].size)
sb.append(", ")
else
sb.append(" und ")
}
sb.append(j.name)
]
Code: Alles auswählen
rule "Telegramm Status Lampen anfordern"
when
Item Telegram_Last_Text received update "Status Lampen"
then
val StringBuilder sb = new StringBuilder
if(GR_Lichtdr.members.filter[ i | i.state == ON].size > 0) {
GR_Lichtdr.members.filter[ i | i.state == ON].forEach[j,k |
if (k > 1) {
if(k < GR_Lichtdr.members.filter[ i | i.state == ON].size)
sb.append(", ")
else
sb.append(" und ")
}
sb.append(j.name)
]
sb.append((if(GR_Lichtdr.members.filter[ i | i.state == ON].size > 1)" sind" else " ist") + " eingeschaltet")
}
if(GR_Lichtdr.members.filter[ i | i.state == OFF].size > 0) {
sb.append(", ")
GR_Lichtdr.members.filter[ i | i.state == OFF].forEach[j,k |
if (k > 1) {
if(k < GR_Lichtdr.members.filter[ i | i.state == OFF].size)
sb.append(", ")
else
sb.append(" und ")
}
sb.append(j.name)
]
sb.append((if(GR_Lichtdr.members.filter[ i | i.state == ON].size > 1)" sind" else " ist") + " ausgeschaltet")
}
sb.append(".")
logInfo("logger","sb hat den Wert {}",sb)
val telegramAction = getActions("telegram","telegram:telegramBot:bot1")
telegramAction.sendTelegram(sb.toString)
end