Sechs Pins sind schnell voll. Und wenn du ein Gerät abbaust und neu setzt, musst du den Pin neu einstellen. Besser: Geräte über das Datennetz ansprechen.
Jedes Gerät hat einen Typ-Hash
Jeder Gerätetyp hat einen internen Namen, das Prefab, zum Beispiel StructureGasSensor. Daraus berechnet das Spiel eine Zahl, den Hash. Du musst die Zahl nicht kennen – HASH("…") rechnet sie beim Laden aus:
define SENSOR HASH("StructureGasSensor") # Gas Sensor
Die Prefab-Namen findest du in der Prefab-Suche des IC10-Coders.
Namen vergibst du selbst
Mit dem Etikettierer (Labeller) gibst du Geräten im Spiel einen Namen, etwa „Lager“. Auch daraus wird mit HASH("Lager") eine Zahl.
lbn und sbn
lbn temp SENSOR HASH("Lager") Temperature Average
sbn HEIZUNG HASH("Lagerheizung") On 1
lbnliest den Wert von allen Geräten dieses Typs mit diesem Namen und fasst ihn zusammen.Averagebildet den Mittelwert – mehr dazu in der nächsten Lektion.sbnschreibt den Wert in alle passenden Geräte gleichzeitig. Drei Heizungen namens „Lagerheizung“? Eine Zeile schaltet alle drei.
Namen in HASH("…") nur mit ASCII schreiben: „Kuehlung“ statt „Kühlung“. Der Chip speichert nur ASCII, mit Umlaut passt der Hash nicht mehr zum Gerätenamen.
Ohne Namen gibt es lb und sb: Die treffen alle Geräte eines Typs im Netz. Praktisch für „alle Lampen aus“.
Schaubild
Übung
Aufgabe
Im Datennetz hängen zwei Gas-Sensoren („Lager“ und „Werkstatt“) und drei Wandheizungen – zwei heißen „Lagerheizung“, eine „Werkstattheizung“.
Wenn es im Lager kälter als 5 °C (278,15 K) ist, sollen beide Lagerheizungen laufen, sonst aus. Die Werkstattheizung bleibt unberührt.
Benutze lbn/sbn mit HASH("…") – keine Pins d0–d5. Prefabs: StructureGasSensor, StructureWallHeater.
Hinweise
Hinweis 1
Lesen: lbn temp SENSOR HASH("Lager") Temperature Average.
Hinweis 2
Vergleichen wie in der select-Lektion: slt an temp GRENZE.
Hinweis 3
Schreiben in beide Heizungen auf einmal: sbn HEIZUNG HASH("Lagerheizung") On an.