# ====================================================================================================================== def get_joke(): """ Get first entry and append it to the end -> no repetition until every entry selected """ joke = jokes.pop(0) jokes.append(joke) return joke # ====================================================================================================================== def callback_tell_joke(hermes, intent_message): result_sentence = "Das Bild wurde erfolgreich abgespeichert" # result_sentence = get_joke() hermes.publish_end_session(intent_message.session_id, result_sentence) # ====================================================================================================================== jokes = load_jokes(assist.get_config()["secret"]["language"], assist.get_config()["secret"]["safe_jokes_only"] == "true") if __name__ == "__main__": h = assist.get_hermes() h.connect() h.subscribe_intent("DANBER:tellJoke", callback_tell_joke) h.loop_forever()
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import logging from Snap7Light import Snap7Light from Snap7Shutter import Snap7Shutter from Snap7Temperature import Snap7Temperature from assistant import Assistant from utilitys import catchErrors, getSlotValue, lg, configureLogger #hermes: 'publish_continue_session', 'publish_end_session', 'publish_start_session_action', 'publish_start_session_notification', # ====================================================================================================================== assist = Assistant() lights = Snap7Light(assist.get_config()) shutter = Snap7Shutter(assist.get_config()) temp = Snap7Temperature(assist.get_config()) # ====================================================================================================================== #@catchErrors #def activateObject(hermes, intent_message): # location = getSlotValue(intent_message.slots, "deviceLocation", intent_message.site_id if intent_message.site_id != "default" else "wohnzimmer") # device = getSlotValue(intent_message.slots, "device", "") # deviceType = getSlotValue(intent_message.slots, "deviceType", "default") # lg.debug("activateObject: location: {}, device: {}, deviceType: {}".format(location, device, deviceType)) # if device.upper() == "Licht".upper(): # deviceType = deviceType if deviceType != "default" else "decke" # lights.turnOn(location, deviceType) # hermes.publish_end_session(intent_message.session_id, "Licht im {} wird angeschalten".format(location)) # elif device.upper() == "Rollo".upper(): # deviceType = deviceType if deviceType != "default" else "fenster" # shutter.open(location, deviceType)
from Snap7Connection import Snap7Connection as s7con from assistant import Assistant from Snap7Light import Snap7Light from utilitys import configureLogger assist = Assistant() if __name__ == "__main__": configureLogger() client = s7con(assist.get_config()) print(client.readBit(951, 5)) client.setBit(951, 0) print(client.readBit(951, 0)) client.writeInt(951, 0, 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 + 256) print(client.readInt(951, 0)) client.closeConnection() exit lights = Snap7Light(assist.get_config()) print(lights.getStatus("Wohnzimmer", "decke")) try: lights.turnOff("Wohnzimmer2", "decke") except Exception as err: pass print(lights.getStatus("Wohnzimmer", "decke")) lights.turnOn("Wohnzimmer", "decke") print(lights.getStatus("schlafzimmer", "alle")) s7con().closeConnection()