• 3 Posts
  • 49 Comments
Joined 2 years ago
cake
Cake day: April 24th, 2023

help-circle
  • Well first off swarm doesn’t work with environment variables, so if you pass any in you’re going to need to pipe the output of docker compose read into docker swarm service create.

    Your port settings are gonna give it a problem too, swarm doesn’t support that new syntax, and as a result you can only assign a single network interface to a service.

    Regarding networking, since the whole paradigm is that you’re not defining a single container but a service that can live/move across multiple nodes; any traffic to any node in your swarm will be routed (round robin style) across the copies of that service. (This makes logging setup a PITA, ask me how I know!)

    Bind mounts aren’t recommended, volumes are preferred. Otherwise everything needs to be mirrored across all nodes, depends on the use case.

    That being said I’m not convinced that swarm is the right answer here, I concur with @[email protected]. You should just install pangolin on your second machine.










  • How I keep that sort of thing in a single automation is by using trigger IDs and a service call with a template for said trigger id.

    Something like this:

    alias: Hallway Motion Light
    description: ""
    trigger:
      - platform: state
        entity_id:
          - binary_sensor.hallway_motion_occupancy
        to: "on"
        id: "on"
      - platform: state
        entity_id:
          - binary_sensor.hallway_motion_occupancy
        to: "off"
        id: "off"
        for:
          hours: 0
          minutes: 1
          seconds: 0
    condition: []
    action:
      - service: light.turn_{{ trigger.id }}
        data:
          transition: 3
        target:
          entity_id: light.hallway_light_2_2
    mode: single
    
    











  • I did just check to see if you can pass along wildcards in an automation, which you can! I used this automation:

    alias: sentence test
    description:
    trigger:
      - platform: conversation
        command:
          - When is [my] {date}
    condition: []
    action:
      - set_conversation_response: curses, that damnable {{ trigger.slots.game }}
        enabled: false
      - choose:
          - conditions:
              - condition: template
                value_template: '{{ ''birthday'' in trigger.slots.date }}'
            sequence:
              - set_conversation_response: >-
                  curses, that damnable {{ trigger.slots.date }}! It completely
                  slipped my mind
          - conditions:
              - condition: template
                value_template: '{{ ''christmas'' in trigger.slots.date }}'
            sequence:
              - set_conversation_response: sir you know when {{ trigger.slots.date }} is!
    

    This should give you a framework to build off of. It looks like when you don’t define a list of slots in an intent it just passes the wildcard along in a slot.