fix: Simulateur MQTT 3/4 + OpenRemote master + Mapsettings

- MQTT OK: 3/4 (EMQX, Mosquitto, BunkerM)
- OpenRemote: utilise realm master (token fonctionnel)
- Realm smartcity recréé dans Keycloak
- Assets IOTSensor créés dans master (30) et smartcity (30)
- Mapsettings: layers iot-sensors + labels pour master et smartcity
- INTERVAL=5s, réseau openremote_default ajouté
- Dockerfile: --no-cache rebuild
This commit is contained in:
Eric FELIXINE
2026-05-11 14:19:53 -04:00
parent ae153c4e5e
commit 918c03dffa
18 changed files with 5862915 additions and 37 deletions

View File

@@ -0,0 +1,78 @@
-- Create 60 MQTT agents for OpenRemote using PL/pgSQL block
-- Realm master: parent_id = '2LtWTTd29uPZLbuWMWUxBf'
-- Realm smartcity: parent_id = 'e174aad5c7b5489e8b2efe'
CREATE EXTENSION IF NOT EXISTS pgcrypto;
DO $$
DECLARE
sensor_types text[] := ARRAY['airquality', 'traffic', 'parking', 'noise', 'weather', 'waterquality'];
realm_rec RECORD;
sensor_type text;
i integer;
new_id text;
new_name text;
new_topic text;
parent_id text;
realm_name text;
BEGIN
-- Delete existing MQTT agents
DELETE FROM asset WHERE type = 'urn:openremote:agent:mqtt';
-- Loop over realms
FOR realm_rec IN SELECT * FROM (VALUES ('master', '2LtWTTd29uPZLbuWMWUxBf'), ('smartcity', 'e174aad5c7b5489e8b2efe')) AS t(realm, parent) LOOP
realm_name := realm_rec.realm;
parent_id := realm_rec.parent;
FOREACH sensor_type IN ARRAY sensor_types LOOP
FOR i IN 1..5 LOOP
new_id := LEFT(REPLACE(gen_random_uuid()::text, '-', ''), 22);
new_name := 'MQTT-Agent-' || sensor_type || '-' || i;
new_topic := 'smartcity/' || sensor_type || '/' || i;
INSERT INTO asset (id, name, type, realm, parent_id, created_on, access_public_read, version, attributes)
VALUES (
new_id,
new_name,
'urn:openremote:agent:mqtt',
realm_name,
parent_id,
NOW(),
false,
1,
jsonb_build_object(
'name', jsonb_build_object('type', 'String', 'value', new_name),
'agentLink', jsonb_build_object(
'type', 'Property',
'value', jsonb_build_object(
'type', 'mqtt',
'brokerUrl', 'tcp://openremote-manager-1:1883',
'topicFilter', new_topic,
'username', '',
'password', '',
'enabled', true
)
),
'sensorType', jsonb_build_object('type', 'String', 'value', sensor_type),
'location', jsonb_build_object(
'type', 'GeoJSONPoint',
'value', jsonb_build_object(
'type', 'Point',
'coordinates', jsonb_build_array(
14.6091 + (random() - 0.5) * 0.1,
-61.2155 + (random() - 0.5) * 0.1
)
)
)
)
);
END LOOP;
END LOOP;
END LOOP;
END $$;
-- Verify insertion
SELECT realm, COUNT(*) as agent_count
FROM asset
WHERE type = 'urn:openremote:agent:mqtt'
GROUP BY realm;